<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/bag"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relativeLayout2"
style="@style/relbag"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView style="@style/CodeFont"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="18dp"
android:textSize="15dp"
android:text="General Preference"
android:id="@+id/genpref">
</TextView>
<ListView
android:id="@+id/settingsListView1"
style="@style/listbag"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dip"
android:layout_marginRight="15dip"
android:background="@drawable/radius"
android:listSelector="@drawable/list_selector"
android:paddingTop="8dip"
android:paddingBottom="8dip"
android:scrollbars="none"
android:layout_below="@id/genpref"/>
<TextView style="@style/CodeFont"
android:id="@+id/notpref"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="25dp"
android:textSize="15dp"
android:text="Notification Preference"
android:layout_below="@id/settingsListView1">
</TextView>
<ListView style="@style/listbag" android:id="@+id/settingsListView2" android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="15dip" android:layout_marginRight="15dip"
android:layout_marginBottom="15dip"
android:background="@drawable/radius"
android:paddingLeft="5dip" android:paddingRight="5dip"
android:paddingTop="15dip" android:paddingBottom="15dip"
android:listSelector="@drawable/list_selector"
android:layout_below="@id/notpref"
android:scrollbars="none"
/>
</RelativeLayout>
</LinearLayout>
在我的应用程序中,我想在linearlayout中创建两个listview,并且不使用ScrollView使linearlayout可滚动。据我所知,scrollview在使用listview时遇到了问题。这张照片并不是我想要的,但让我们假装下面列表视图中有另一个列表视图。所以我想显示listview的所有可用项目(在我的app 2 listview的项目中)并使LinearLayout可滚动。 ScrollView不能正常运行,因为它必须只有一个直接子项。我找不到解决方案。所以请帮我解决,谢谢
答案 0 :(得分:7)
我不认为将多个列表放在一个屏幕上是个好主意becoz touch会变得很奇怪,使用屏幕会变得很复杂。你应该考虑别的东西在一个屏幕上一起显示多个列表。你可以水平排列多个在单个屏幕中列出.Romain Guy(Google开发人员)也在以下链接中接受这一事实....
http://groups.google.com/group/android-developers/browse_thread/thread/77acd4e54120b777
我希望这个答案可以帮助你解决问题。
答案 1 :(得分:0)
将LinearLayout用作ScrollView的子项,并将ListView作为子项放置到LinearLayout。
答案 2 :(得分:0)
我认为这是你的解决方案,
您无需在ScrollView
中使用LinearLayout
。
在layout_weight
LinearLayout
参数
由于layout_weight
中RelativeLayout
param不可用,您需要使用LinearLayout
进行更改。
你可以这样做,
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/bag"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/relativeLayout2"
style="@style/relbag"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView style="@style/CodeFont"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="18dp"
android:textSize="15dp"
android:text="General Preference"
android:id="@+id/genpref">
</TextView>
<ListView
android:id="@+id/settingsListView1"
style="@style/listbag"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_marginLeft="15dip"
android:layout_marginRight="15dip"
android:background="@drawable/radius"
android:listSelector="@drawable/list_selector"
android:paddingTop="8dip"
android:paddingBottom="8dip"/>
<TextView style="@style/CodeFont"
android:id="@+id/notpref"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="25dp"
android:textSize="15dp"
android:text="Notification Preference">
</TextView>
<ListView style="@style/listbag"
android:id="@+id/settingsListView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_marginLeft="15dip"
android:layout_marginRight="15dip"
android:layout_marginBottom="15dip"
android:background="@drawable/radius"
android:paddingLeft="5dip" android:paddingRight="5dip"
android:paddingTop="15dip" android:paddingBottom="15dip"
android:listSelector="@drawable/list_selector"/>
</LinearLayout>
</LinearLayout>
用上面的方法改变你的xml ..我没有测试过,所以他们可能是一些愚蠢的params错误,你可以轻松解决..
答案 3 :(得分:0)
我用过这个并帮助了我
ListAdapter listAdapter = listView.getAdapter();
int rows = listAdapter.getCount();
int height = 60 * rows; // Insert the general cell height plus the dividers.
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = height;
listView.setLayoutParams(params);
listView.requestLayout();
希望也帮助你