如何使用TOP上的TextView和BOTTOM上的ListView构建UI?

时间:2013-09-02 09:37:39

标签: android listview

我在互联网上查看了一些例子,这些例子只展示了如何单独使用ListView,这很无聊。

我们总是需要构建一个复杂的用户界面,现在,我想编写一个包含两个View的用户界面,其中一个在TOP上为TextView,占用30%的空间,另一个是ListView,剩余的空间占70%。

如果我只是写:

<LinearLayout>
<TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="3"/>
<ListView
    ....
    android:layout_weight="7"/>
</LinearLayout>

它不起作用....

4 个答案:

答案 0 :(得分:0)

textview顶部的textview和textview下面的listview。相应地修改以下内容。

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

   <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="40dp" // specify the height required for textview
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:text="TextView" />

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true" >

    </ListView>

</RelativeLayout>

您还可以将视图添加为列表视图的标题。

答案 1 :(得分:0)

试试这个:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1" >

    </ListView>

</LinearLayout>

答案 2 :(得分:0)

使用相对布局,如:

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:text="Large Text" />

<ListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/textView1" >
</ListView>

</RelativeLayout>

答案 3 :(得分:0)

<LinearLayout>
    <TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight=".3"/>
    <ListView
    ....
    android:layout_weight=".7"/>
</LinearLayout>