我有一个简单的表格,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" />
现在因为下一个和上一个按钮有一个drawable,所以他们根据设备大小有drawable,所以页脚栏没有固定的高度值,所以我怎么能得到它的高度,所以我可以提供该值为{{1 } margin_bottom
。提前谢谢..
答案 0 :(得分: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
}
});
答案 1 :(得分:1)
使用View的getLayoutParams()方法,你可以从params获得高度:)
答案 2 :(得分:1)
参考以下代码
首先在xml文件中添加页脚,并将其 alignParentBottom 设置为true。
然后添加scrollView并使用页脚标识
设置其 layout_above 属性<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>
答案 3 :(得分:0)
oldLayout = (android.widget.RelativeLayout.LayoutParams) view.getLayoutParams();
Width = oldLayout.width;