我的布局包含多个文本和按钮视图,以及两个列表视图。这些列表视图是使用项目动态填充的 - 每个项目都是带有几个TexView的LinearLayout,或者是TextView和ImageView。
简化版:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="match_parent"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
/>
<ListView
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<ListView
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
</ScrollView>
</LinearLayout>
添加到上述ListViews的listview元素的示例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
我希望看到的是可滚动的整页。不是每个ListView中的单个元素。
我尝试用TableLayout而不是LinearLayout做同样的事情。我尝试了许多不同的方法,无论是否有滚动视图,并且以下其中一种情况不断发生:
答案 0 :(得分:0)
您必须将列表视图放在滚动视图之外。如果该列表中的项目超出屏幕大小,则将滚动列表视图。将列表视图放在滚动视图之外后,其中任何一个都将单独滚动。
希望它能解决你的问题。让我知道。
答案 1 :(得分:0)
我最终不得不重新考虑我的布局。我决定使用两个可滚动的列表视图。让它们不要将屏幕移开的关键是将布局高度设置为0dp,并将每个列表视图的权重设置为1。 (当然你可以将重量设置为不同的比例,比如1和3,让一个比另一个占用更多的空间):
<LinearLayout
...
android:orientation="vertical"
>
<ListView
android:id="@+id/locationsListView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<ListView
android:id="@+id/locationsListView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>