view类的XML属性
属性名称 |
对应方法 |
描述 |
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 |
当前控件的下方的留白 |
view类的XML属性的更多相关文章
- View类的XML属性、相关方法及说明
XML属性 相关方法 说明 android:alpha setAlpha(float) 设置该组件的透明度 android:background setBackgroundResource(int) ...
- Android中View自己定义XML属性具体解释以及R.attr与R.styleable的差别
为View加入自己定义XML属性 Android中的各种Widget都提供了非常多XML属性,我们能够利用这些XML属性在layout文件里为Widget的属性赋值. 例如以下所看到的: <Te ...
- android之View组件的XML属性集合
XML属性 相关方法 说明 android:alpha setAlpha(float) 设置该组件的透明度 android:background setBackgroundResource(int) ...
- PureMVC(JS版)源码解析(九):View类
在讲解View类之前,我们先回顾一下PureMVC的模块划分: 在PureMVC中M.V.C三部分由三个单例类管理,分别是Model/View/Controller.PureMVC中另外一个 ...
- android.view.animation(1) - alpha、scale、translate、rotate、set的xml属性和用法(转)
一.ScaleAnimation ScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, floa ...
- Android Layout XML属性
转载自并做少量添加:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html Layout对于迅速的搭建界面和提高界面在不同分辨率的 ...
- Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法
一.概述 Android的animation由四种类型组成:alpha.scale.translate.rotate,对应android官方文档地址:<Animation Resources&g ...
- [转]Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法
转载:http://blog.csdn.net/harvic880925/article/details/39996643 前言:这几天做客户回访,感触很大,用户只要是留反馈信息,总是一种恨铁不成钢的 ...
- 【Android Training UI】创建自定义Views(Lesson 1 - 创建一个View类)
发布在我的网站 http://kesenhoo.github.io/blog/2013/06/30/android-training-ui-creating-custom-views-lesson-1 ...
随机推荐
- js实现url链接encode加密
function urlencode(clearString) { var output = ''; var x = 0; clearString = utf16to8(clearString.toS ...
- raise()函数
kill和raise函数用来发送信号, 区别在于: kill把信号发送给进程或进程组. kill(pid_t pid, int signo) raise把信号发送给进程自己,相当于 raise(ing ...
- HDU1860:统计字符
Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超 ...
- HDU2519:新生晚会
Problem Description 开学了,杭电又迎来了好多新生.ACMer想为新生准备一个节目.来报名要表演节目的人很多,多达N个,但是只需要从这N个人中选M个就够了,一共有多少种选择方法? ...
- mac中使用终端生成RSA私钥和公钥文件
1.打开终端输入:cd Desktop/ //进入桌面 2.OpenSSL //打开 OpenSSL 3.生成私钥pem, 执行命令 genrsa -out rsa_private_ke ...
- 兼容IE低版本
1,IE6PNG透明的bug,只需要把png图另存为无杂边的png-8格式 2,在IE6用overflow:hidden清除浮动,要加上zoom:1 3,IE6下盒子的最小高度为20px 如果要小于2 ...
- mysql innobackupex备份工具
先简单介绍一下这个工具:innobackupexinnobackupex比xtarbackup有更强的功能,它整合了xtrabackup和其他的一些功能,他不但可以全量备份/恢复,还可以基于时间的增量 ...
- 查看端口号他所占用的exe应用程序
- iOS中的多线程基础
NSThread NSThread是一个苹果封装过的,面向对象的线程对象.但是它的生命周期需要我们自己来手动管理,所以使用不是很常见,比如[NSThread currentThread],它可以获取当 ...
- Spring 与 mybatis整合---事务管理
MyBatis与Spring整合前后事务管理有所区别 整合前:通过 session = sessionFactory.openSession(true); //或者是false 设置事务是否自动提交: ...