0

シンプルなテーブルとscrollViewスクロール用のがありTableRowます。android:layout_marginBottom="<size of footerbar>また、フッターを追加しました。問題は、scrollViewにを与えることができるように、フッターのサイズを知る必要があることです。では、フッターバーのレイアウトの高さを取得するにはどうすればよいですか?私を助けてください。

これは私のフッターバーコードです:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/btnColor"
android:orientation="horizontal" >


<Button
    android:id="@+id/previous"
    style="@style/pagingBarBtnAttr"
    android:layout_alignParentLeft="true"
    android:background="@drawable/choose_color_btn"
    android:drawableLeft="@drawable/previous"
    android:text="Previous" />

<TextView
    android:id="@+id/pageNo"
    style="@style/pagingBarBtnAttr"
    android:layout_centerHorizontal="true"
    android:text="Page No. 1" />

<Button
    android:id="@+id/next"
    style="@style/pagingBarBtnAttr"
    android:layout_alignParentRight="true"
    android:background="@drawable/choose_color_btn"
    android:drawableRight="@drawable/next"
    android:text="Next" />

次と前のボタンにはドローアブルがあり、デバイスサイズに応じてドローアブルがあるため、フッターバーの高さの値は固定されていません。その高さを取得して、の値を指定するにはどうすればよいですmargin_bottomscrollview。前もって感謝します..

4

4 に答える 4

2

フッターに使用したレイアウトに ViewTreeObserver を使用します

 ViewTreeObserver vto = layout.getViewTreeObserver();
    vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            //Here you can get dimension of view
                        //This method will called after screen created
        }
    });
于 2012-10-25T06:06:17.907 に答える
1

以下のコードを参照してください

まず、xmlファイルにフッターを追加し、そのalignParentBottomをtrueに設定します。

次に、scrollViewを追加し、そのlayout_aboveプロパティにフッターIDを設定します

<LinearLayout
    android:id="@+id/imgFooter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" />

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/imgFooter"
    android:layout_below="@id/nav_bar_header"
    android:layout_centerHorizontal="true"
    android:padding="5dp" >
</ScrollView>
于 2012-10-25T06:00:57.950 に答える
1

View の getLayoutParams() メソッドを使用すると、params から高さを取得できます:)

于 2012-10-25T05:57:40.027 に答える
1
oldLayout = (android.widget.RelativeLayout.LayoutParams) view.getLayoutParams();
Width = oldLayout.width;
于 2012-10-25T06:05:17.007 に答える