今天在一個佈局文件中看見以下內容:html
[html] view plaincopyjava
- <?xml version="1.0" encoding="UTF-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:gravity="center_horizontal">
- <ListView android:id="@+id/android:list"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" />
- <TextView android:id="@+id/android:empty"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="130px"
- android:textSize="25px"
- android:text="@+string/textview_text"/>
- <Button
- android:id="@+id/Button01"
- android:layout_width="200px"
- android:layout_height="wrap_content"
- android:layout_marginTop="50px"
- > </Button>
- </LinearLayout>
先說效果,當ListView不爲空時,只顯示listview;反之顯示TextView 和Button。android
這跟java文件裏的代碼沒有關係,是由TextView的android:id="@+id/android:empty屬性實現的。佈局
TextView的android:id="@+id/android:empty屬性決定當ListView爲空時自動顯示TextView。忽略.net
流式佈局裏的ListView 的存在。認爲整個佈局裏只有TextView 和Button,爲此兩個都能顯示出來。xml
註釋掉TextView後,不論ListView是不是空的,都不能顯示Button。由於ListView的高度爲fill_parent,htm
故Button也沒有顯示出來。此時把ListView的高度修改爲wrap_content,就會顯示出Button來了。blog