2013-07-11 102 views

回答

2

你想要ScrollView的孩子的高度。嘗試scrollView.getChildAt(0).getMeasuredHeight()

編輯

你可能嘗試具有查看測量其本身並給它一個measurespec,讓就是了它使用盡可能多的空間。事情是這樣的:

int width = ... // get screen width; 
int height = 65536; // arbitrarily large value 
final int widthMeasureSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST); 
final int heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST); 
view.onMeasure(widthMeasureSpec, heightMeasureSpec); 
// now get the height 
int measuredHeight = view.getMeasuredHeight(); 

全面披露:我不知道這是否會工作或它可能在你的應用程序有什麼影響。調用此方法有一個副作用,那就是設置了視圖的測量尺寸。如果可能的話,你可以嘗試創建一個單獨的重複視圖並測量該視圖;或者,在你測量黑客之後,在視圖上調用requestLayout()以安排視圖樹的另一個測量&佈局。

+0

謝謝你的回答。但它沒有給出確切的高度。我將ScrollView轉換爲PNG。雖然使用兒童的高度給出了更好的結果,然而使用ScrollView高度本身,高度仍然不正確。它傾向於不覆蓋整個視圖!請指教。 – Ahmed

+0

可能有效的一個想法(雖然也許有點冒險)會讓視圖去衡量自己。我會將其添加到我的答案。 – Karakuri

1

滾動型始終只有一個孩子,所以使用:

ScrollView.getChildAt(0).getHeight(); 

應該工作。

相關問題