属性名称

对应方法

描述

android:background

setBackgroundResource(int)

设置背景

android:clickable

setClickable(boolean)

设置View是否响应单击事件

android:visibility

setVisibility(int)

控制View的可见性

android:focusable

setFocusable(boolean)

控制View是否可以获取焦点

android:id

setId(int)

为View设置标识符,可通过findViewById方法获取

android:longClickable

setLongClickable(boolean)

设置View是否响应长单击事件

android:soundEffectsEnabled

setSoundEffectsEnabled(boolean)

设置当View触发单击等事件时是否播放音效

android:saveEnabled

setSaveEnabled(boolean)

如果未作设置,当View被冻结时将不会保存其状态

android:nextFocusDown

setNextFocusDownId(int)

定义当向下搜索时应该获取焦点的View,如果该View不存在或不可见,则会抛出RuntimeException异常

android:nextFocusLeft

setNextFocusLeftId(int)

定义当向左搜索时应该获取焦点的View

android:nextFocusRight

setNextFocusRightId(int)

定义当向右搜索时应该获取焦点的View

android:nextFocusUp

setNextFocusUpId(int)

定义当向上搜索时应该获取焦点的View

ViewGroup类是View类的子类,但是它可以充当其他控件的容器。ViewGroup的子控件既可以是普通的View,也可以是 ViewGroup。一些高级控件如Gallery、GridView等都是继承自ViewGroup。Android中为每种不同的布局提供一个 ViewGroup的子类,如LinearLayout、TableLayout、RelativeLayout、FrameLayout、 AbsoluteLayout等。

LinearLayout是最简单的布局之一,它提供了控件水平或垂直排列的模型,可以通过设置控件的weight参数控制各个控件在容器中的相对大小。LinearLayout布局的属性也是既可以通过布局XML文件设置,也可以通过成员方法进行设置。

LinearLayout常用的属性及对应设置方法

属性名称

对应方法

描述

android:orientation

setOrientation(int)

设置线性布局的朝向,可取horizontal和vertical两种排列方式

android:gravity

setGravity(int)

设置线性布局的内部元素的布局方式

gravity可取的属性及说明

属性值

说明

top

不改变控件大小,对齐到容器顶部

bottom

不改变控件大小,对齐到容器底部

left

不改变控件大小,对齐到容器左侧

right

不改变控件大小,对齐到容器右侧

center_vertical

不改变控件大小,对齐到容器纵向中央位置

center_horizontal

不改变控件大小,对齐到容器横向中央位置

center

不改变控件大小,对齐到容器中央位置

fill_vertical

若有可能,纵向拉伸以填满容器

fill_horizontal

若有可能,横向拉伸以填满容器

fill

若有可能,纵向横向同时拉伸填满容器

TableLayout类似行和列的形式管理控件,每行为一个TableRow对象,也可以为一个View对象,当为View对象时,该View对象将跨
越该行的所有列。在TableRow中可以添加子控件,每添加一个子控件为一列。TableLayout布局中并不会为每一行、每一列或每个单元格绘制边
框,每一行可以有0或多个单元格,每个单元格为一个View对象。TableLayout中可以有空的单元格,单元格也可以像HTML中那样跨越多个列。
在表格布局中,一个列的宽度由该列中最宽的那个单元格指定,而表的宽度是由父容器指定的。在TableLayout中,可以为列设置三种属性:

Shrinkable,如果一个列被标识为Shrinkable,则该列的宽度可以进行收缩,以使表格能够适应其父容器的大小。

Stretchable,如果一个列被标识为Stretchable,则该列的宽度可以进行拉伸,以使填满表格中空闲的空间。

Collapsed,如果一个列被标识为Collapsed,则该列将会被隐藏。

一个列可以同时具有Shrinkable和Stretchable属性,在这种情况下,该列的宽度将任意的拉伸或收缩以适应父容器。

TableLayout继承自LinearLayout类,除了继承自父类的属性和方法,TableLayout类还包含表格布局所特有的属性和方法。

TableLayout类常用属性及对应的方法

属性名称

对应方法

描述

android:collapseColumns

setColumnCollapsed(int,boolean)

设置指定列号的列为Collapsed,列号从0开始计算

android:shrinkColumns

setShrinkAllColumns(boolean)

设置指定列号的列为Shrinkable,列号从0开始计算

android:stretchColumns

setStretchAllColumns(boolean)

设置指定列号的列为Stretchable,列号从0开始计算

RelativeLayout布局中,子控件的位置是相对于兄弟控件或父容器而决定的。出于性能考虑,在设计相对布局时要按照控件之间的依赖关系排列,如View A 的位置相对于View B 类决定,则需要保证在布局文件中View B 在View A 的前面。

相对布局中只取true或false的属性

属性名称

属性说明

android:layout_centerHorizontal

当前控件位于父控件的横向中间位置

android:layout_centerVertical

当前控件位于父控件的纵向中间位置

android:layout_centerInParent

当前控件位于父控件的中央位置

android:layout_alignParentBottom

当前控件低端与父控件低端对齐

android:layout_alignParentLeft

当前控件左侧与父控件左侧对齐

android:layout_alignParentRight

当前控件右侧与父控件右侧对齐

android:layout_alignParentTop

当前控件顶端与父控件顶端对齐

android:layout_alignWithParentIfMissing

当参照控件不存在或不可见时参照父控件

相对布局中取值为其他控件id的属性及说明

属性名称

属性说明

android:layout_toRightOf

使当前控件位于给出id控件的右侧

android:layout_toLeftOf

使当前控件位于给出id控件的左侧

android:layout_above

使当前控件位于给出id控件的上方

android:layout_below

使当前控件位于给出id控件的下方

android:layout_alignTop

使当前控件的上边界与给出id控件的上边界对齐

android:layout_alignBottom

使当前控件的下边界与给出id控件的下边界对齐

android:layout_alignLeft

使当前控件的左边界与给出id控件的左边界对齐

android:layout_alignRight

使当前控件的右边界与给出id控件的右边界对齐

相对布局中取值为像素的属性及说明

属性名称

属性说明

android:layout_marginLeft

当前控件的左侧的留白

android:layout_marginRight

当前控件的右侧的留白

android:layout_marginTop

当前控件的上方的留白

android:layout_marginBottom

当前控件的下方的留白

最新文章

  1. 西南大学校园GIS平台
  2. html span标签 不换行(有时span带中文时候是可以自动换行的)
  3. Linux防火墙规则的查看、添加、删除和修改
  4. Apache Spark源码走读之3 -- Task运行期之函数调用关系分析
  5. iOS ZBarSDK的基本使用:扫描
  6. hdu 1850 Being a Good Boy in Spring Festival(Nimm Game)
  7. HDU 4462 Scaring the Birds (暴力求解,二进制法)
  8. android UI跨线程操作
  9. Nodejs真.多线程处理
  10. VScode插件以及配置
  11. Struts2中Action之ResultType
  12. Django 执行单独脚本及SyntaxError缩进报错解决
  13. python3,打印一年的某一天是一年的第几天
  14. CyclicBarrier源码解读
  15. bzoj3687
  16. (转)以太坊(Ethereum)创世揭秘 以太坊(Ethereum)创世揭秘
  17. Angular JS (一)
  18. 走进DOM:HTML DOM
  19. Oracle 12C -- 基于sequence的列的默认值
  20. ubuntu14.4.4安装smb服务实现文件共享

热门文章

  1. 《TCP/IP详解》读书笔记
  2. 1.5后台修改添加TDK
  3. cpanel 定时运行sh/php
  4. 关于js中原型链的理解
  5. delete、truncate与drop的区别
  6. CentOS,Ubuntu,Gentoo,Freebsd,RedHat,Debian的区别及选择
  7. spring security 3 自定义认证,授权示例
  8. Chrome不支持showModalDialog模态对话框和无法返回returnValue的问题
  9. HttpRequest中常见的四种ContentType【转载】
  10. 常用 SQL语句