如何在布局中添加页脚?

时间:2014-10-31 09:13:12

标签: android layout footer

这是我的layout.xml,我想在listview的底部添加一个固定页脚。此外,我无法更改当前的布局。此布局顶部包含一个操作栏。相对布局包含所有布局,包括动作栏相对布局到下面我有一个包含listview的框架布局。我希望这个列表视图在底部固定一个包含一些图像按钮的页脚。

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <!-- This acts as Actionbar -->
    <RelativeLayout 
        android:id="@+id/relativeLayout"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:paddingRight="10dp"
        android:orientation="horizontal"
        android:background="@drawable/action_bar_background_strip" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="20dp"
            android:clickable="true"
            android:onClick="toggleMenu"
            android:contentDescription="@null"
            android:src="@drawable/drawer_toggle_button" />

        <View 
            android:id="@+id/View1"
            android:layout_width="1dp"
            android:layout_height="fill_parent"
            android:layout_marginLeft="20dp"
            android:layout_toRightOf="@+id/imageView1"
            android:background="#ffffff" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_toRightOf="@+id/View1"
            android:layout_marginTop="8dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="115dp"
            android:text="Listview"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="#ffffff"
            android:textStyle="bold" />

        <View 
            android:id="@+id/View2"
            android:layout_width="1dp"
            android:layout_height="fill_parent"
            android:layout_toRightOf="@+id/textView1"
            android:background="#ffffff" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:contentDescription="@null"
            android:src="@drawable/icon" />

    </RelativeLayout>

    <FrameLayout
        android:layout_below="@+id/relativeLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ListView
            android:id="@+id/listView"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:choiceMode="multipleChoice" >
        </ListView>

    </FrameLayout>

3 个答案:

答案 0 :(得分:0)

例如,您可以:为footer创建新的布局并将其放置在其父级的底部,并使FrameLayout成为您footer

上方的位置

使用布局的android:layout_aboveandroid:layout_alignParentBottom属性...

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<!-- This acts as Actionbar -->
<RelativeLayout
    android:id="@+id/relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:paddingRight="10dp"
    android:orientation="horizontal"

    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="20dp"
        android:clickable="true"
        android:onClick="toggleMenu"
        android:contentDescription="@null" />

    <View
        android:id="@+id/View1"
        android:layout_width="1dp"
        android:layout_height="fill_parent"
        android:layout_marginLeft="20dp"
        android:layout_toRightOf="@+id/imageView1"
        android:background="#ffffff" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_toRightOf="@+id/View1"
        android:layout_marginTop="8dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="115dp"
        android:text="Listview"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#ffffff"
        android:textStyle="bold" />

    <View
        android:id="@+id/View2"
        android:layout_width="1dp"
        android:layout_height="fill_parent"
        android:layout_toRightOf="@+id/textView1"
        android:background="#ffffff" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:contentDescription="@null" />

</RelativeLayout>

<FrameLayout
    android:layout_below="@+id/relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/linearLayout">

    <ListView
        android:id="@+id/listView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:choiceMode="multipleChoice">
    </ListView>
</FrameLayout>


<LinearLayout
    android:orientation="horizontal"
    android:layout_alignParentBottom="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:id="@+id/linearLayout">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button" />
</LinearLayout>

答案 1 :(得分:0)

制作 footer.xml ,如下所示:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:background="#5E616B"
    android:gravity="center_horizontal"
    android:orientation="horizontal"
    android:weightSum="1" >

    <ImageButton
        android:id="@+id/btn_one"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="2dp"
        android:layout_weight=".2"
        android:background="@drawable/footer_button_pressed"
        android:src="@drawable/pingicon" />

    <ImageButton
        android:id="@+id/btn_two"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="2dp"
        android:layout_weight=".2"
        android:background="@drawable/footer_button_pressed"
        android:src="@drawable/profile" />

    <ImageButton
        android:id="@+id/btn_three"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="2dp"
        android:layout_weight=".2"
        android:background="@drawable/footer_button_pressed"
        android:src="@drawable/mycircle" />

    <ImageButton
        android:id="@+id/btn_four"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="2dp"
        android:layout_weight=".2"
        android:background="@drawable/footer_button_pressed"
        android:src="@drawable/sendping" />

    <ImageButton
        android:id="@+id/btn_five"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="2dp"
        android:layout_weight=".2"
        android:background="@drawable/footer_button_pressed"
        android:src="@drawable/settings" />
</LinearLayout>

这里的想法很简单。用 weightsum 1 做一个线性布局,然后将这个重量除以他们的孩子。这里我已经拍摄了5个图像按钮并分配了.2重量给他们每个人。别忘了将布局方向设置为垂直。

然后在您的布局中包含页脚,如:

 <include
        android:id="@+id/footer"
        layout="@layout/footer" />

然后将 SCROLLVIEW 设计为:

<FrameLayout
        android:layout_below="@+id/relativeLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:layout_above="@+id/footer"
        android:layout_below="@+id/header"(IF ANY) >

        <ListView
            android:id="@+id/listView"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:choiceMode="multipleChoice" >
        </ListView>

    </FrameLayout>

答案 2 :(得分:0)

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/linearLayout1" >
    </ListView> 

<!--  Footer linear layout  -->

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="55dp"
        android:weightSum="5" 
        android:layout_marginBottom="-5dp"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true" >

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_marginLeft="-4.5dp"
            android:layout_marginRight="-4dp"
            android:layout_marginTop="-5dp"
            android:contentDescription="@null"
            android:src="@drawable/filing_button_icon" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_marginLeft="-4.5dp"
            android:layout_marginRight="-4.5dp"
            android:layout_marginTop="-5dp"
            android:contentDescription="@null"
            android:src="@drawable/delete_icon" />

        <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_marginLeft="-4dp"
            android:layout_marginRight="-4.5dp"
            android:layout_marginTop="-5dp"
            android:contentDescription="@null"
            android:src="@drawable/reply_all_icon" />

        <ImageButton
            android:id="@+id/imageButton4"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_marginLeft="-4dp"
            android:layout_marginRight="-4.5dp"
            android:layout_marginTop="-5dp"
            android:contentDescription="@null"
            android:src="@drawable/reply_icon" />

        <ImageButton
            android:id="@+id/imageButton5"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_marginLeft="-4dp"
            android:layout_marginRight="-4.5dp"
            android:layout_marginTop="-5dp"
            android:contentDescription="@null"
            android:src="@drawable/forward_icon" />

    </LinearLayout>

</RelativeLayout>