다음 XML을 예로 들어보십시오. 이것 (내 응용 프로그램의 실제 XML)에서는 ListView
보다 작은 EditText
을 가지고 있지만 필요하면 다른 것으로 변경할 수 있습니다. 이것이 본질적으로 보여주는 것은 상단이나 하단에 다른 내용과 함께 ListView
을 가질 수 있다는 것입니다. 이 방법을 사용하는 것이해야하지만 상기 Widgets
항상 고정 된 것처럼 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>
프로을 (I는 I 제거 한 ListView
후 몹 코드를 가지고). 의 단점은 화면이 작은 장치의 경우 의 내용이 표시 될 ListView
내용에 대해 개의 공간이 부족하여 사용자가 많이 스크롤해야하는 경우가있을 수 있습니다.
양자 택일로, 당신은 ListView
위의 Widgets
별도의 다른 XML 파일에 넣어와 Header
로 (자바 코드에서) 당신의 ListView
에 추가 할 수 있습니다. 그러면 ListView
위의 콘텐츠가 ListView
콘텐츠와 함께 이동합니다.
그래서이 코드 조각은 자바 코드에서 헤더로 추가됩니다 다른 XML에 간다 :
<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
에 사용 된 것과 관계없이 어느 방법이든 작동합니다.