1

嗨,我正在尝试创建一个粘性页脚,它将显示在我的应用程序的每个活动中,我已经有了标题,我使用 windows feautre 自定义标题栏来实现这一点,所以我的标题总是显示在我的所有活动中。

我有:

  1. 使用lazyadapter从xml文件获取数据的listview活动。
  2. 使用基本音频播放器进行的活动。

我想创建一个粘性页脚 si,它不仅在我滚动列表视图底部时总是显示,如下所示:

在此处输入图像描述

我已经有了这个:

页脚.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
       <TextView
        android:text="Footer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom"/>


</LinearLayout>

在我的列表视图活动中,我使用了:

View footerView = ((LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer, null, false);
        list.addFooterView(footerView);

页脚显示,但如果我滚动到列表视图的末尾不是粘性的,我可以使用哪种方法来创建粘性页脚?

谢谢。

编辑:

主要的.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp"
        android:fadingEdge="none"
        android:listSelector="@drawable/list_selector" />  

</LinearLayout>

list_row.xml:

<?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="@drawable/list_selector"
    android:orientation="horizontal"
    android:padding="5dip" >

    <!--  ListRow Left sied Thumbnail image -->
    <LinearLayout android:id="@+id/thumbnail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dip"
        android:layout_alignParentLeft="true"

        android:layout_marginRight="5dip">
      <!-- android:background="@drawable/image_bg" -->
        <ImageView
            android:id="@+id/miniatura"
            android:layout_width="80dip"
            android:layout_height="50dip"
            android:src="@drawable/rihanna"/>

    </LinearLayout>

    <!-- Title Of Song-->

    <TextView
        android:id="@+id/nombre"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/thumbnail"
        android:layout_marginTop="8dp"
        android:layout_toRightOf="@+id/thumbnail"
        android:text="Rihanna Love the way lie"
        android:textColor="#040404"
        android:textSize="15dip"
        android:textStyle="bold"
        android:typeface="sans" />

    <!-- Artist Name -->
    <TextView
        android:id="@+id/web"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/nombre"
        android:textColor="#343434"
        android:textSize="10dip"
        android:layout_marginTop="1dip"
        android:layout_toRightOf="@+id/thumbnail"
        android:text="Just gona stand there and ..." />

    <!-- Rightend Duration -->

    <TextView
        android:id="@+id/shoutcast"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@id/nombre"
        android:layout_marginRight="5dip"
        android:gravity="right"
        android:text="5:45"
        android:textColor="#10bcc9"
        android:textSize="10dip"
        android:textStyle="bold"
        android:visibility="gone" />
    <TextView
        android:id="@+id/logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@id/shoutcast"
        android:layout_marginRight="5dip"
        android:gravity="right"
        android:text="5:45"
        android:textColor="#10bcc9"
        android:textSize="10dip"
        android:textStyle="bold"
        android:visibility="gone" />

     <!-- Rightend Arrow -->
     <ImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/arrow"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"/>

</RelativeLayout>
4

2 回答 2

3

您不希望您的页脚出现在列表中,因为那样它只会显示在列表的底部。相反,您希望它在根元素内部更上一层楼。页眉和页脚高度应设置为包裹内容,以便它们只占用所需的空间,并且列表应设置为 height=0dp weight=1,以便它占用所有剩余的可用空间。看看我为 main.xml 提供的这个替换。您应该在 .xml 布局文件中使用您的页脚(如果可能),并尽量避免在代码中这样做。

主要的:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp"
        android:fadingEdge="none"
        android:listSelector="@drawable/list_selector" />  

    <include layout="footer"/>

</LinearLayout>

页脚:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:text="Footer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom"/>

</LinearLayout>
于 2012-10-19T16:02:33.890 回答
2

在您的 XML 中,将其余的视图(列表视图等)包装在 ScrollView 中

于 2012-10-19T15:58:13.517 回答