我们在做一个表单界面的时候,表单项很多,会用ScrollView滚动条来滚动,但是这时候的Button会跟着滚动条一起滚动,如果我们希望Button固定在底部,滚动条只滚动表单,有两种方法:
1.用权重,即android:layout_weight,具体代码如下
1 <ScrollView 2 android:layout_height="0dp" 3 android:id="@+id/scrollView1" 4 android:layout_width="match_parent" 5 android:layout_weight="8" 6 >
注意第二行,android:layout_height="0dp" 这种写法可以保证竖直方向按权重来布局,然后看Button
1 </ScrollView> 2 <LinearLayout 3 android:layout_height="0dp" 5 android:layout_width="match_parent" 6 android:orientation="vertical" 7 android:background="@color/black" 8 android:layout_weight="1" 9 > 10 <Button 11 android:id="@+id/btregist" 12 android:layout_height="wrap_content" 13 android:layout_width="match_parent" 14 android:background="@drawable/regist_button" 15 android:layout_gravity="bottom" 16 ></Button> 17 </LinearLayout>
第八行,android:layout_weight="1",这样滚动条 和 Button 就以8:1的比例显示了,当然,我省略了滚动条内的部分。
2.第二种方法,相对布局,直接把button放下面,scrollView放在Button上面,这办法讨巧了
1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:layout_width="fill_parent" 5 android:layout_height="fill_parent" 6 7 > 8 <ScrollView 9 android:layout_height="fill_parent" 10 android:id="@+id/scrollView1" 11 android:layout_width="match_parent" 12 android:layout_above="@+id/llybuttom" 13 > 14 ………………此处省略一万字 15 </ScrollView> 16 <LinearLayout 17 android:layout_height="wrap_content" 18 android:id="@+id/llybuttom" 19 android:layout_width="match_parent" 20 android:orientation="vertical" 21 android:layout_alignParentBottom="true" 22 > 23 <Button 24 android:id="@+id/btregist" 25 android:layout_height="wrap_content" 26 android:layout_width="match_parent" 27 android:background="@drawable/regist_button" 28 android:layout_gravity="bottom" 29 ></Button> 30 </LinearLayout> 31 </RelativeLayout>
这两种方法都可以用哦~