Ari*_*MAZ 2 java android android-linearlayout android-scrollview
我做了一个简单的布局xml文件.我一直在解决我的问题.我正在使用scrolview,linearlayout和tableview.我有一个顶栏,它被锁在顶部.它永远不会移动.在中间,我有一个scrollview,我需要将我的最后一个linearlayout作为页脚放在底部,如果用户向下滚动,我不希望它消失.我希望它被锁定在那里.
这是我的代码
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:background="@drawable/gradient"
android:gravity="center">
.......
</TableRow>
</TableLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/sw_layout"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#EEEEEE" >
<TableRow
android:id="@+id/tableRowDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
..........
</TableRow>
</TableLayout>
/*****************************************/
/* I want this to be footer at the bottom*/
/*****************************************/
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/btn_date"
android:layout_height="35dp"
android:padding="5dp"
android:drawableLeft="@drawable/calendar"
android:text="Tarih" />
<Button
android:id="@+id/btn_converter"
android:layout_height="35dp"
android:padding="5dp"
android:drawableLeft="@drawable/calendar"
android:text="Hesap" />
</LinearLayout>
/*****************************************/
/* I want this to be footer at the bottom*/
/*****************************************/
</LinearLayout>
</ScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我怎样才能将页脚锁定在底部?
Hou*_*ine 18
你应该使用RelativeLayout和在页脚布局中添加标签:android:layout_alignParentBottom="true"; 为了你ScrollView,你应该把它放在页脚布局(android:layout_above="@+id/idOfYourFooterLayout")上面
试试这个 :
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/sw_layout"
android:layout_above="@+id/footer"
android:orientation="vertical">
//your UI...
</ScrollView>
<LinearLayout
android:id="@+id/footer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical" >
<Button
android:id="@+id/btn_date"
android:layout_height="35dp"
android:padding="5dp"
android:drawableLeft="@drawable/calendar"
android:text="Tarih" />
<Button
android:id="@+id/btn_converter"
android:layout_height="35dp"
android:padding="5dp"
android:drawableLeft="@drawable/calendar"
android:text="Hesap" />
</LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
您可以设置layout_height="0dp"页眉、页脚并ScrollView定义layout_weight. 只需尝试一下这些值,直到找到最有效的值。页眉和页脚的最终高度将随着屏幕尺寸的变化而动态变化。
值 1、5、1 表示第一个元素占父元素可用高度的 1/7,第二个元素占 5/7,最后一个元素占可用高度的 1/7 LinearLayout。
尝试
<!-- HEADER -->
<TableLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<!-- BODY -->
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/sw_layout"
android:orientation="vertical"
android:layout_weight="5">
<!-- FOOTER -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="vertical"
android:layout_weight="1" >
Run Code Online (Sandbox Code Playgroud)