我做了一个简单的布局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>
如何将页脚锁定在底部?
答案 0 :(得分:17)
您应该使用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>
答案 1 :(得分:2)
您可以设置页眉,页脚和layout_height="0dp"
的{{1}},并定义ScrollView
。只需使用这些值,直到找到最适合的值。由此产生的页眉和页脚高度会随着屏幕大小而动态变化。
值1,5,1表示第一个元素占父layout_weight
中可用高度的1/7,第二个5/7和最后1/7。
尝试
LinearLayout
答案 2 :(得分:0)
像这样使用一个xml - &gt;&gt;
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
并将其包含在
中LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
...
<!-- Overridden attributes never work. Nor do attributes like
the red background, which is specified here. -->
<include
android:id="@+id/buttons_override"
android:background="#ff0000"
android:layout_width="fill_parent"
layout="@layout/buttons"/>
</LinearLayout>
答案 3 :(得分:0)
将父布局用作RelativeLayout,并将此属性android:layout_alignParentBottom="true"
添加到页脚布局,并将LinearLayout(页脚布局)放在scrollview之外。像这样
<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">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" //// add this property
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>
答案 4 :(得分:0)
使用相对布局作为父布局,然后按如下方式添加三个子视图
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" >
<View android:id="@+id/top_view"
android:alignParentTop="true"> // Your view that as to be in Top
</View>
<ScrollView android:layout_below ="@id/top_view" > //scroll view in middle below topview
</ScrollView>
<View android:alignParentBotton="true"> //Your expected view in bottom
</View>
</RelativeLayout>