在处理Android布局时,我都很高兴。我有一个ListView,我需要在ListView的上方和下方添加一个TextView。这就是我到目前为止所做的:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!-- Header -->
<RelativeLayout
android:orientation="horizontal"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
>
<TextView
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</RelativeLayout>
<!-- Header -->
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dp"
>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<TextView android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="No items"
android:padding="5dp"
/>
</LinearLayout>
<!-- Footer -->
<RelativeLayout
android:orientation="horizontal"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
>
<TextView
android:id="@+id/footer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</RelativeLayout>
<!-- Footer -->
</LinearLayout>
答案 0 :(得分:2)
在代码中,您可以使用addHeaderView
和addFooterView
将视图添加到ListView本身。在XML中,您必须使用某种布局。 LinearLayout将执行:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<TextView android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="No items"
android:padding="5dp"
/>
<TextView
android:id="@+id/footer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>