次の XML を例として考えてみましょう。これ (私のアプリからの実際の XML) では、 のEditText
上に小さなListView
がありますが、必要に応じて別のものに変更できます。これが本質的に示しているのは、ListView
他のコンテンツと一緒に上部または下部に配置できるということです。(削除した後に Admob コードがありますListView
)
<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
それらを別の XML ファイルに入れて、ListView
(Java コード内の) に として追加することもできます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>
長所と短所は、前の例とはほとんど逆です。
Fragment
またはで使用されているかどうかに関係なく、どちらの方法も機能しActivity
ます。