我有一个片段选项卡实现,tabContent与FrameLayout
如下:
<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:id="@+id/tab_content_wrapper">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0"/>
<FrameLayout
android:id="@+id/realtabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TabWidget
android:id="@android:id/tabs"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="0"
android:showDividers="none"
android:background="#434343"/>
</LinearLayout>
</TabHost>
然后在真实内容中,我可以添加ListView
并且它可以滚动。但是,如果我希望RelativeLayout
拥有固定的高度内容并在其下方添加ListView
,则会出现问题。它具有以下资源布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/some_content_with_listview"
android:orientation="vertical"
android:background="#ffffff">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
android:gravity="top"
android:paddingLeft="10dp"
android:paddingTop="7dp"
android:paddingRight="10dp"
android:id="@+id/pre_list_view_content"
android:layout_marginLeft="7dp"
android:layout_marginRight="7dp">
...
</RelativeLayout>
<ListView
android:id="@+id/my_list_view"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:smoothScrollbar="true">
</ListView>
</LinearLayout>
在AsyncTask
之后,my_list_view会填充项目,并在非常短的可滚动ListView
内显示。在没有滚动的情况下,我似乎无法使LinearLayout
更高,以包含整个ListView
。因此,为了澄清,我想使 ListView
不可滚动,但要在realtabcontent(FrameLayout)中使 LinearLayout
可滚动
向前谢谢!
答案 0 :(得分:1)
您可以为相对布局创建不同的布局:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
android:gravity="top"
android:paddingLeft="10dp"
android:paddingTop="7dp"
android:paddingRight="10dp"
android:id="@+id/pre_list_view_content"
android:layout_marginLeft="7dp"
android:layout_marginRight="7dp">
...
</RelativeLayout>
将其添加为列表视图的标题。
//inflate this layout and get view object
lvMyListView.addHeaderView(view,null,false);
您可以查看此内容,了解有关添加标题的更多信息
http://www.vogella.com/tutorials/AndroidListView/article.html#miscellaneous_headerfooter