android:id="@+id/android:empty属性的用法举例

今天在一个布局文件中看见如下内容:

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. android:gravity="center_horizontal">
  7. <ListView android:id="@+id/android:list"
  8. android:layout_width="fill_parent"
  9. android:layout_height="fill_parent" />
  10. <TextView android:id="@+id/android:empty"
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. android:layout_marginTop="130px"
  14. android:textSize="25px"
  15. android:text="@+string/textview_text"/>
  16. <Button
  17. android:id="@+id/Button01"
  18. android:layout_width="200px"
  19. android:layout_height="wrap_content"
  20. android:layout_marginTop="50px"
  21. > </Button>
  22. </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来了。

原文地址:https://www.cnblogs.com/seven1979/p/4428813.html