Android ListActivity - 固定页眉和页脚

Tri*_*ick 6 android header fixed footer listactivity

是否可以将ListActivity的页眉和页脚设置为固定在顶部和底部,因此只有内容(列表)滚动,而不是页眉和页脚?

我这两个都设置如下:

View header = getLayoutInflater().inflate(R.layout.list_header, null);
View footer = getLayoutInflater().inflate(R.layout.list_footer, null);
ListView listView = getListView();
listView.addHeaderView(header);
listView.addFooterView(footer);
Run Code Online (Sandbox Code Playgroud)

sda*_*bet 11

您可以使用自定义XML布局来实现它,您可以在其中设置页眉,页脚和列表的布局.

请注意,要与ListActivity此布局兼容,必须包含ListView带有id的android.R.id.list:

<?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:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="HEADER" />

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="FOOTER" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

并设置ListActivity如下:

public class TestActivity extends ListActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
Run Code Online (Sandbox Code Playgroud)