今天在一个布局文件中看见如下内容:
[html]
- <?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。
这跟java文件里的代码没有关系,是由TextView的android:id="@+id/android:empty属性实现的。
TextView的android:id="@+id/android:empty属性决定当ListView为空时自动显示TextView。忽略
流式布局里的ListView 的存在。认为整个布局里只有TextView 和Button,为此两个都能显示出来。
注释掉TextView后,不论ListView是否是空的,都不能显示Button。因为ListView的高度为fill_parent,
故Button也没有显示出来。此时把ListView的高度修改成wrap_content,就会显示出Button来了。