我在处理NavigationDrawer的滚动时遇到问题。我有3个listview,有3个标题。 我希望listview可以将它们的高度包装到它们的内容中,这样它们就不会被滚动了。显然,通过这种方式,如果最后一个listview不能完全保留在布局中,她不必滚动,而是必须滚动它们所在的线性布局。 我尝试了一些方法,但我没有修复它。其中一个是将线性布局放在ScrollView中,但是当我尝试它时,listview的内容减少到每行一行。
这是我现在获得的(没有ScrollView尝试):
以下是我想通过滚动获得的内容:
这是我的XML代码(没有ScrollView尝试):
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
<LinearLayout
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:orientation="vertical"
android:id="@+id/drawer_container">
<ListView
android:id="@+id/drawer_list"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#fff">
</ListView>
<ListView
android:id="@+id/drawer_list2"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#fff">
</ListView>
<ListView
android:id="@+id/drawer_list3"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#fff">
</ListView>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
对于这个问题的长篇内容感到抱歉,但我想提出一个明确的问题。
答案 0 :(得分:0)
因此,如果行数是静态的,我建议不要使用listviews。 仅使用textview(或每行所需的任何内容) 并给出父布局weight_sum = [元素数] 对于每一行,给出height = 0dip,weight = 1:
<LinearLayout
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:orientation="vertical"
android:id="@+id/drawer_container"
android:weightSum="3">
<TextView
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"/>
</LinearLayout>