Android 如何构建顶部为TextView,底部为ListView的UI?

Android 如何构建顶部为TextView,底部为ListView的UI?,android,listview,Android,Listview,我在网上查了一些例子,这些例子只是演示如何一次性使用ListView,很无聊 我们总是需要构建一个复杂的UI,现在,我想写一个UI,它有两个视图,其中一个是文本视图,占据30%的空间,另一个是列表视图,它占据了剩余的空间,70% 如果我只是这样写: <LinearLayout> <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_

我在网上查了一些例子,这些例子只是演示如何一次性使用
ListView
,很无聊

我们总是需要构建一个复杂的UI,现在,我想写一个UI,它有两个
视图
,其中一个是
文本视图
,占据30%的空间,另一个是
列表视图
,它占据了剩余的空间,70%

如果我只是这样写:

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


它不工作….

文本视图位于顶部,列表视图位于文本视图下方。相应地修改以下内容

<?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>

您还可以将视图作为标题添加到listview。

尝试以下操作:

<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>

使用相对布局,如:

  <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>


将textview作为标题添加到listview,或使用相对布局在顶部添加textview,并在底部重新驱动到textview添加listview
<LinearLayout>
    <TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight=".3"/>
    <ListView
    ....
    android:layout_weight=".7"/>
</LinearLayout>