好的這是我的問題我想創建一個滾動視圖,填充到屏幕底部的兩個按鈕集合。知道我不能只設置滾動視圖來填充父項我以爲我會去獲取線性佈局的高度與它中的按鈕,然後我設置填充父級的滾動視圖的高度。然後從另一箇中減去一個,然後重置滾動視圖高度。我想出瞭如何獲取和設置滾動視圖高度。我發現了一種方法來測量活動中的所有其他視圖,但是使用這個視圖時,它總是返回一個零,並且我不知道如何獲得它的高度。如何以編程方式獲取按鈕上的視圖的高度?
final LinearLayout tv = (LinearLayout)findViewById(R.id.thebuttons);
ViewTreeObserver vto = tv.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout() {
Integer grr = tv.getHeight();
Log.e("the h", grr.toString());
ViewTreeObserver obs = tv.getViewTreeObserver();
obs.removeGlobalOnLayoutListener(this);
}
});
現在如果我將它設置爲任何我的其他佈局中,我得到了它的高度,我希望,但將其設置爲這一個,我得到0;這是我正在測量的那個!我也試過直接測量按鈕無濟於事
<LinearLayout
android:id="@+id/thebuttons"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5sp"
>
<Button
android:id="@+id/saveit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save" />
<Button
android:id="@+id/clearit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save" />
</LinearLayout>
只需使用一個[ 'RelativeLayout'](http://developer.android.com/resources/tutorials/views/hello-relativelayout.html)而不是'LinearLayout',這使您可以輕鬆地按照您描述的方式定位元素而無需執行任何討厭的測量等 – tomtheguvnor