我想让我的listview只能滚动到屏幕的一部分,我在屏幕下方显示的其他设计很少,下面是我的代码,其中我添加了layout-weight = 1我已经推荐了其他帖子。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25dp"
android:textStyle="bold"
android:text=" Computer Languages..." />
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</ListView>
</LinearLayout>
答案 0 :(得分:2)
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</ListView>
编辑:下面是您对ListView进行更改的布局文件,作为测试,我添加了一个TextView,它应该强制ListView为其提供所需的空间。如果您在模拟器中,在手机上测试此布局,或在Eclipse / AS中进行预览,它就会完全符合预期。
如果此布局无法正常使用,那么此处还有其他功能,也许您正在以编程方式修改布局,但如果没有其他信息/代码,我可以&#39;说。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25dp"
android:textStyle="bold"
android:text=" Computer Languages..." />
<ListView android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25dp"
android:textStyle="bold"
android:text="test test text" />
</LinearLayout>
答案 1 :(得分:-1)
最好的方法是使用RelativeLayout
<RelativeLayout
...
>
<TextView
android:id="@+id/firstview"
...
/>
<ListView
android:layout_below="@+id/firstview"
android:layout_above="@+id/lastview"
...
/>
<TextView
android:id="@+id/lastView"
/>
</RelativeLayout>
答案 2 :(得分:-1)
只需在同一个LinearLayout中的同一级别上将您的视图添加到ListView下方。也就是说,您可能希望在ListView中设置layout_height="0dp"
(这样它的高度不需要再测量一次),从而提高性能。这对ListView项特别有用。只要你保持其他观点&#39; layout_weights未设置(或将它们设置为0),ListView占用所有剩余空间。