Android:使用listview元素的混合屏幕是不可能的?

时间:2012-04-21 10:45:44

标签: listview android-layout

可能是一个布局文件,可以解释我在说什么

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >


<ListView
    android:id="@+id/listview"
    android:layout_width="match_parent"
    android:layout_height="400dp" />



<LinearLayout
    android:id="@+id/sublayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

  <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/text_btn1"
    android:onClick="select" />


  <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/text_btn2"
    android:onClick="select2" />

</LinearLayout>

如您所见,linearlayout充当根布局元素

我想要的是80%屏幕的列表视图,接下来20%的屏幕将由其他元素组成,例如按钮。在android中是不可能这样做的?如果是这样,我应该使用哪个属性?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为解决方案是使用android:layout_weight,因此您可以指定多个视图之间的大小比率。 试试这个:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >


<ListView
    android:id="@+id/listview"
    android:layout_width="fill_parent"
    android:layout_height="0dp" 
    android:layout_weight="80"/>



<LinearLayout
    android:id="@+id/sublayout"
    android:layout_width="fill_parent"
    android:layout_height="0dp" 
    android:layout_weight="20">

 <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/text_btn1"
    android:onClick="select" />


 <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/text_btn2"
    android:onClick="select2" />

</LinearLayout>
</LinearLayout>