以下面的 XML 为例。在这个(来自我的应用程序的实际 XML)中,我在.EditText
上方有一个较小的ListView
,但您可以将其更改为您需要的其他内容。这实质上说明的是,您可以ListView
在顶部或底部拥有 a 以及其他一些内容。ListView
(我已经删除了 Admob 代码)
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/phone_thing_comment_bg"
android:gravity="center"
android:paddingBottom="5dp"
android:paddingLeft="9dp"
android:paddingRight="9dp"
android:paddingTop="5dp" >
<EditText
android:id="@+id/editFilterList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:background="@drawable/phone_thing_comment_box"
android:drawableLeft="@drawable/filter_search_icon"
android:drawablePadding="5dp"
android:hint="Type Friends Name"
android:inputType="text"
android:maxLines="1"
android:textColor="#ff333333"
android:textColorHint="#ff78797d"
android:textCursorDrawable="@null" >
</EditText>
</LinearLayout>
<LinearLayout
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="0dip"
android:layout_weight="1"
android:cacheColorHint="@android:color/transparent"
android:divider="#000000"
android:dividerHeight="0dp"
android:fadingEdge="none"
android:persistentDrawingCache="scrolling"
android:scrollbars="none" >
</ListView>
<TextView
android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:padding="10dp"
android:text="@string/no_friends"
android:textColor="#f1f1f1"
android:textSize="15sp"
android:textStyle="bold"
android:visibility="gone" >
</TextView>
</LinearLayout>
</LinearLayout>
使用这种方法的优点是它ListView
会像它应该的那样滚动,但Widgets
上面它总是静止的。使用这种方法的缺点是在屏幕较小的设备上,可能没有足够的空间来ListView
显示内容,用户可能需要滚动很多。
或者,您可以将Widgets
上述. 这使得上面的内容随着内容一起移动。ListView
ListView
Header
ListView
ListView
因此,这段代码进入了一个不同的 XML,它将作为标头添加到您的 Java 代码中:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/phone_thing_comment_bg"
android:gravity="center"
android:paddingBottom="5dp"
android:paddingLeft="9dp"
android:paddingRight="9dp"
android:paddingTop="5dp" >
<EditText
android:id="@+id/editFilterList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:background="@drawable/phone_thing_comment_box"
android:drawableLeft="@drawable/filter_search_icon"
android:drawablePadding="5dp"
android:hint="Type Friends Name"
android:inputType="text"
android:maxLines="1"
android:textColor="#ff333333"
android:textColorHint="#ff78797d"
android:textCursorDrawable="@null" >
</EditText>
</LinearLayout>
利弊与前面的例子几乎相反。
无论在 aFragment
或 an中使用,这两种方法都将起作用Activity
。