简体   繁体   中英

How to build a UI with a TextView on TOP and a ListView on BOTTOM?

I check some examples on Internet, these examples just show how to single use ListView ,it's boring.

We Always need to build a complex UI,and now, I want to write a UI that with two View ,one of them is TextView on TOP,and take up 30% space, and another one is a ListView , it take the rest of space,70%.

If I just write like:

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

it doesn't work....

Textview at the top and listview below the textview. Modify the below accordingly.

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

You can also add views as a header to listview.

Try this :

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

use relative layout like:

  <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>
<LinearLayout>
    <TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight=".3"/>
    <ListView
    ....
    android:layout_weight=".7"/>
</LinearLayout>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM