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来了。

时间: 2024-10-20 21:28:22

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

AutoCompleteTextView,MultiAutoCompleteTextView 用法举例

AutoCompleteTextView  按下去变红色 MultiAutoCompleteTextView(用逗号可以添加多个关键字) AutoCompleteTextView,MultiAutoCompleteTextView都可以在输入时完成匹配.后者是前者的子类,只不过可以匹配多个字符,字符间用“,”来分割.一般我们不用什么高级的adapter来放置数据,直接用ArrayAdapter是个比较好的选择 先看一下他们的属性: android:completionHint          

Android控件所共有属性ID、宽、高、背景、内容位置、状态、内容跟边界的间隙、边界跟其他控件边界的间隙

Android控件(包括布局)的所共有的属性: android:id="@+id/denglu_et_name"                     设置控件的id,denglu_et_name可以替换成你需要的id号名称 android:layout_width="wrap_content"        设置控件的宽 android:layout_height="wrap_content"       设置控件的高            

Android自学笔记之 Android五大布局之线性布局的功能、常用属性、用法

1.介绍: 线性布局管理器对存放其中的控件或布局采用线性方式管理 2.LinearLayout的常用属性 android:orientation = "vertical" -- 该属性决定它子类控件的排布方式(vertical:垂直:horizontal:水平) android:gravity = "center" -- 该属性决定它子类控件的xy的位置 常用属性值 center_vertical:垂直(Y轴)居中 center_horizontal:水平(X轴)居

Android自定义控件:动画类----alpha、scale、translate、rotate、set的xml属性及用法

一.概述 Android的animation由四种类型组成:C.scale.translate.rotate,对应android官方文档地址:<Animation Resources> 动画在XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 动作定义文件应该存放在res/anim文件夹下,访问时采用R.anim.XXX.xml的方式,位置如图: 二.下面我们逐个讲讲每个标签的属性

解决Your content must have a ListView whose id attribute is &#39;android.R.id.list&#39;

1.错误提示:Your content must have a ListView whose id attribute is 'android.R.id.list' 对于以上错误,其实可能是因为我们要实现对ListView中setOnItemClick的事件监听而去继承了LiseActivity,但是却没有ListView的标签,只要在布局文件中添加定制Layout的代码,即将ListView的id设置为“@android:id/list”或android:id="@id/android:lis

@+id/和android:id有什么区别?

Any View object may have an integer ID associated with it, to uniquely identify the View within the tree. When the application is compiled, this ID is referenced as an integer, but the ID is typically assigned in the layout XML file as a string, in t

Android中@+id和@id的差别

Android中的组件须要用一个int类型的值来表示.这个值也就是组件标签中的id属性值. id属性仅仅能接受资源类型的值,也就是必须以@开头的值,比如,@id/abc.@+id/xyz等. 假设在@后面使用"+",表示当改动完某个布局文件并保存后,系统会自己主动在R.java文件里生成对应的int类型变量.变量名就是"/"后面的值.比如,@+id/xyz会在R.java文件里生成int xyz = value.当中value是一个十六进制的数.假设xyz在R.ja

Android中@id与@+id区别

近日升级adt21+后,在输出apk时碰到编译layout异常,看了下是因为有人在layout引用一个不存在的resID时用了 @+id/xxx,而不是@id/xxx,导致debug编译器没显示错误,而在打包时的编译器出现错误,adt21-则没有此问题. 附上配图说明: Android中@id与@+id区别 : Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值. id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc.@+id/xyz等

Android自学笔记之ToggleButton(开关按钮)的功能、特殊属性、用法

1.ToggleButton属性: 1>有两种状态:选中和未选中状态并需要为不同的状态设置不同的显示文本 2>android:checked="true" 3>android:textOff="关"(默认状态) 4>android:textOn="开" 2.使用方法:(example) public class MainActivity extends Activity implements onCheckedChange