Android控件布局属性⼤全
Android功能强⼤,界⾯华丽,但是众多的布局属性就害苦了开发者,下⾯这篇⽂章结合了⽹上不少资料.
第⼀类:属性值为true或false
android:layout_centerHrizontal ⽔平居中 (Hrizontal表⽰⽔平)
android:layout_centerVertical 垂直居中 (Vertiacl表⽰垂直)
android:layout_centerInparent 相对于⽗元素完全居中
android:layout_alignParentBottom 贴紧⽗元素的下边缘 (align 表⽰使什么成为⼀⾏)
android:layout_alignParentLeft 贴紧⽗元素的左边缘
android:layout_alignParentRight 贴紧⽗元素的右边缘
android:layout_alignParentTop 贴紧⽗元素的上边缘
android:layout_alignWithParentIfMissing 如果对应的兄弟元素不到的话就以⽗元素做参照物
第⼆类:属性值必须为id的引⽤名”@id/id-name”
android:layout_below 在某元素的下⽅
android:layout_above 在某元素的的上⽅
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐
第三类:属性值为具体的像素值,如30dip,40px
android:layout_marginBottom 离某元素底边缘的距离 margin英⽂是边缘的意思
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离
EditText的属性
android:hint 设置EditText为空时输⼊框内的提⽰信息。
android:gravity属性是对该view 内容的限定.⽐如⼀个button 上⾯的text. 你可以设置该text 在view的靠左,靠右等位置.以button为
例,android:gravity=”right”则button上⾯的⽂字靠右
android:layout_gravity
android:layout_gravity是⽤来设置该view相对与起⽗view 的位置.⽐如⼀个button 在linearlayout⾥,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity=”right”则button靠右
android:scaleType:
android:scaleType是控制图⽚如何resized/moved来匹对ImageView的size。
ImageView.ScaleType / android:scaleType值的意义区别:
CENTER /center 按图⽚的原来size居中显⽰,当图⽚长/宽超过View的长/宽,则截取图⽚的居中部分显⽰
CENTER_CROP / centerCrop 按⽐例扩⼤图⽚的size居中显⽰,使得图⽚长(宽)等于或⼤于View的长(宽)
CENTER_INSIDE / centerInside 将图⽚的内容完整居中显⽰,通过按⽐例缩⼩或原来的size使得图⽚长/宽等于或⼩于View的长/宽
FIT_CENTER / fitCenter 把图⽚按⽐例扩⼤/缩⼩到View的宽度,居中显⽰
FIT_END / fitEnd 把图⽚按⽐例扩⼤/缩⼩到View的宽度,显⽰在View的下部分位置
FIT_START / fitStart 把图⽚按⽐例扩⼤/缩⼩到View的宽度,显⽰在View的上部分位置
FIT_XY / fitXY 把图⽚�不按⽐例扩⼤/缩⼩到View的⼤⼩显⽰
MATRIX / matrix ⽤矩阵来绘制,动态缩⼩放⼤图⽚来显⽰。
** 要注意⼀点,Drawable⽂件夹⾥⾯的图⽚命名是不能⼤写的。
android:id
为控件指定相应的ID
android:text
指定控件当中显⽰的⽂字,需要注意的是,这⾥尽量使⽤l⽂件当中的字符串
android:gravity
指定View组件的对齐⽅式,⽐如说居中,居右等位置 这⾥指的是控件中的⽂本位置并不是控件本⾝
android:layout_gravity
指定Container组件的对齐⽅式.⽐如⼀个button 在linearlayout⾥,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为 例,android:layout_gravity=”right”则button靠右
android:textSize
指定控件当中字体的⼤⼩
android:background
指定该控件所使⽤的背景⾊,RGB命名法
android:width
指定控件的宽度 控件与组件
android:height
指定控件的⾼度
android:layout_width
指定Container组件的宽度
android:layout_height
指定Container组件的⾼度
android:layout_weight
View中很重要的属性,按⽐例划分空间
android:padding*
指定控件的内边距,也就是说控件当中的内容
android:sigleLine
如果设置为真的话,则控件的内容在同⼀⾏中进⾏显⽰
android:scaleType
是控制图⽚如何resized/moved来匹对ImageView的siz
android:layout_centerHrizontal
⽔平居中
android:layout_centerVertical
垂直居中
android:layout_centerInparent
相对于⽗元素完全居中
android:layout_alignParentBottom
贴紧⽗元素的下边缘
android:layout_alignParentLeft
贴紧⽗元素的左边缘
android:layout_alignParentRight
贴紧⽗元素的右边缘
android:layout_alignParentTop
贴紧⽗元素的上边缘
android:layout_alignWithParentIfMissing
如果对应的兄弟元素不到的话就以⽗元素做参照物
android:layout_below
在某元素的下⽅
android:layout_above
在某元素的的上⽅
android:layout_toLeftOf
在某元素的左边
android:layout_toRightOf
在某元素的右边
android:layout_alignTop
本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft
本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom
本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight
本元素的右边缘和某元素的的右边缘对齐
android:layout_marginBottom
离某元素底边缘的距离
android:layout_marginLeft
离某元素左边缘的距离
android:layout_marginRight
离某元素右边缘的距离
android:layout_marginTop
离某元素上边缘的距离
android:paddingLeft
本元素内容离本元素右边缘的距离
android:paddingRight
本元素内容离本元素上边缘的距离
android:hint
设置EditText为空时输⼊框内的提⽰信息
android:LinearLayout
它确定了LinearLayout的⽅向,其值可以为vertical, 表⽰垂直布局horizontal, 表⽰⽔平布局
android:interpolator
可能有很多⼈不理解它的⽤法,⽂档⾥说的也不太清楚,其实很简单,看下⾯:interpolator定义⼀个动画的变化率(the rate of change)。这使得基本的动画效果(alpha, scale, translate, rotate)得以加速,减速,重复等。⽤通俗的⼀点的话理解就是:动画的进度使⽤ Interpolator 控制。interpolator 定义了动画的变化速度,可以实现匀速、正加速、负加速、⽆规则变加速等。Interpolator 是基类,封装了所有Interpolator 的共同⽅法,它只有⼀个⽅法,即 getInterpolation (float input),该⽅法 maps a point on the timeline to a multiplier to be applied to the transformations of an animation。Android 提供了⼏个 Interpolator ⼦类,实现了不同的速度曲线,如下:AccelerateDecelerateInterpolator 在动画开始与介绍的地⽅速率改变⽐较慢,在中间的时侯加速
AccelerateInterpolator 在动画开始的地⽅速率改变⽐较慢,然后开始加速
CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator 在动画开始的地⽅速率改变⽐较慢,然后开始减速
LinearInterpolator 在动画的以均匀的速率改变
对于 LinearInterpolator ,变化率是个常数,即 f (x) = x.
public float getInterpolation(float input) {
return input;
}
Interpolator其他的⼏个⼦类,也都是按照特定的算法,实现了对变化率。还可以定义⾃⼰的 Interpolator ⼦类,实现抛物线、⾃由落体等物理效果。
TextView属性汇总
android:autoLink设置是否当⽂本为URL链接/email/电话号码/map时,⽂本显⽰为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText如果设置,将⾃动执⾏输⼊值的拼写纠正。此处⽆效果,在显⽰输⼊法并输⼊的时候起作⽤。
android:bufferType指定getText()⽅式取得的⽂本类别。选项editable 类似于StringBuilder可追加字符,
也就是说getText后可调⽤append ⽅法设置⽂本内容。spannable 则可在给定的字符区域使⽤样式,参见这⾥1、这⾥2。
android:capitalize设置英⽂字母⼤写类型。此处⽆效果,需要弹出输⼊法才能看得到,参见EditView此属性说明。
android:cursorVisible设定光标为显⽰/隐藏,默认显⽰。
android:digits设置允许输⼊哪些字符。如”1234567890.+-*/% ()”
android:drawableBottom在text的下⽅输出⼀个drawable,如图⽚。如果指定⼀个颜⾊的话会把text的背景设为该颜⾊,并且同时和background使⽤时覆盖后者。resized
android:drawableLeft在text的左边输出⼀个drawable,如图⽚。
android:drawablePadding设置text与drawable(图⽚)的间隔,与drawableLeft、 drawableRight、drawableTop、drawableBottom⼀起使⽤,可设置为负数,单独使⽤没有效果。
android:drawableRight在text的右边输出⼀个drawable。
android:drawableTop在text的正上⽅输出⼀个drawable。
android:editable设置是否可编辑。
android:editorExtras设置⽂本的额外的输⼊数据。
android:ellipsize设置当⽂字过长时,该控件该如何显⽰。有如下值设置:”start”—-省略号显⽰在开头;”end” ——省略号显⽰在结
尾;”middle”—-省略号显⽰在中间;”marquee” ——以跑马灯的⽅式显⽰(动画横向移动)
android:freezesText设置保存⽂本的内容以及光标的位置。
android:gravity设置⽂本位置,如设置成”center”,⽂本将居中显⽰。
android:hintText为空时显⽰的⽂字提⽰信息,可通过textColorHint设置提⽰信息的颜⾊。此属性在 EditView中使⽤,但是这⾥也可以⽤。android:imeOptions附加功能,设置右下⾓IME动作与编辑框相关的动作,如actionDone右下⾓将显⽰⼀个”完成”,⽽不设置默认是⼀个回车符号。这个在EditView中再详细说明,此处⽆⽤。
android:imeActionId设置IME动作ID。
android:imeActionLabel设置IME动作标签。
android:includeFontPadding设置⽂本是否包含顶部和底部额外空⽩,默认为true。
android:inputMethod为⽂本指定输⼊法,需要完全限定名(完整的包名)。例如:le.android.inputmethod.pinyin,但是这⾥报错不到。
android:inputType设置⽂本的类型,⽤于帮助输⼊法显⽰合适的键盘类型。在EditView中再详细说明,这⾥⽆效果。
android:linksClickable设置链接是否点击连接,即使设置了autoLink。
android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为 marquee_forever时表⽰⽆限次。android:ems设置TextView的宽度为N个字符的宽度。这⾥测试为⼀个汉字字符宽度
android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使⽤时覆盖ems选项。
android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使⽤时覆盖ems选项。
android:maxLength限制显⽰的⽂本长度,超出部分不显⽰。
android:lines设置⽂本的⾏数,设置两⾏就显⽰两⾏,即使第⼆⾏没有数据。
android:maxLines设置⽂本的最⼤显⽰⾏数,与width或者layout_width结合使⽤,超出部分⾃动换⾏,超出⾏数将不显⽰。
android:minLines设置⽂本的最⼩⾏数,与lines类似。
android:lineSpacingExtra设置⾏间距。
android:lineSpacingMultiplier设置⾏间距的倍数。如”1.2″
android:numeric如果被设置,该TextView有⼀个数字输⼊法。此处⽆⽤,设置后唯⼀效果是TextView有点击效果,此属性在EdtiView将详细说明。
android:password以⼩点”.”显⽰⽂本
android:phoneNumber设置为电话号码的输⼊⽅式。
android:privateImeOptions设置输⼊法选项,此处⽆⽤,在EditText将进⼀步讨论。
android:scrollHorizontally设置⽂本超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus如果⽂本是可选择的,让他获取焦点⽽不是将光标移动为⽂本的开始位置或者
末尾位置。 TextView中设置后⽆效果。
android:shadowColor指定⽂本阴影的颜⾊,需要与shadowRadius⼀起使⽤。
android:shadowDx设置阴影横向坐标开始位置。
android:shadowDy设置阴影纵向坐标开始位置。
android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜⾊了,⼀般设置为3.0的效果⽐较好。
android:singleLine设置单⾏显⽰。如果和layout_width⼀起使⽤,当⽂本不能全部显⽰时,后⾯⽤”…”来表⽰。如android:text=”test_ singleLine ”
android:singleLine=”true” android:layout_width=”20dp”将只显⽰”t…”。如果不设置singleLine或者设置为false,⽂本将⾃动换⾏android:text设置显⽰⽂本.
android:textAppearance设置⽂字外观。如 “?android:attr/textAppearanceLargeInverse”这⾥引⽤的是系统⾃带的⼀个外观,?表⽰系统是否有这种外观,否则使⽤默认的外观。可
textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/te xtAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor设置⽂本颜⾊
android:textColorHighlight被选中⽂字的底⾊,默认为蓝⾊
android:textColorHint设置提⽰信息⽂字的颜⾊,默认为灰⾊。与hint⼀起使⽤。
android:textColorLink⽂字链接的颜⾊.
android:textScaleX设置⽂字之间间隔,默认为1.0f。
android:textSize设置⽂字⼤⼩,推荐度量单位”sp”,如”15sp”
android:textStyle设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(⼜粗⼜斜) 2] 可以设置⼀个或多个,⽤”|”隔开
android:typeface设置⽂本字体,必须是以下常量值之⼀:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
android:height设置⽂本区域的⾼度,⽀持度量单位:px(像素)/dp/sp/in/mm(毫⽶)
android:maxHeight设置⽂本区域的最⼤⾼度
android:minHeight设置⽂本区域的最⼩⾼度
android:width设置⽂本区域的宽度,⽀持度量单位:px(像素)/dp/sp/in/mm(毫⽶),与layout_width 的区别看这⾥。
android:maxWidth设置⽂本区域的最⼤宽度
android:minWidth设置⽂本区域的最⼩宽度
Android activity属性汇总
android:allowTaskReparenting
是否允许activity更换从属的任务,⽐如从短信息任务切换到浏览器任务。
android:alwaysRetainTaskState
是否保留状态不变, ⽐如切换回home, 再从新打开, activity处于最后的状态
android:clearTaskOnLanunch
⽐如 P 是 activity, Q 是被P 触发的 activity, 然后返回Home, 从新启动 P,是否显⽰ Q
android:configChanges
当配置list发⽣修改时,是否调⽤ onConfigurationChanged() ⽅法 ⽐如 “locale|navigation|orientation”.
android:enabled
activity 是否可以被实例化,
android:excludeFromRecents
是否可被显⽰在最近打开的activity列表⾥
android:exported
是否允许activity被其它程序调⽤
android:finishOnTaskLaunch
是否关闭已打开的activity当⽤户重新启动这个任务的时候
android.icon
android:label
android:launchMode
activity启动⽅式, “standard” “singleTop” “singleTask” “singleInstance”
其中前两个为⼀组, 后两个为⼀组
android:multiprocess
允许多进程
android:name
activity的类名, 必须指定
androidnHistory
是否需要移除这个activity当⽤户切换到其他屏幕时。这个属性是 API level 3 中引⼊的
android:permission
android:process
⼀ 个activity运⾏时所在的进程名,所有程序组件运⾏在应⽤程序默认的进程中,这个进程名跟应⽤程序的包名⼀致。中的元素process属性能够为所有组件设定⼀个新的默认值。但是任何组件都可以覆盖这个默认值,允许你将你的程序放在多进程中运⾏。 如果这个属性被分配的名字以:开头,当这个activity运⾏时, ⼀个新的专属于这个程序的进程将会被创建。如果这个进程名以⼩写字母开头,这个activity将会运⾏在全局的进程中,被它的许可所提供。
android:screenOrientation
activity显⽰的模式, “unspecified” 默认值 “landscape” 风景画模式,宽度⽐⾼度⼤⼀些 “portrait” 肖像模式, ⾼度⽐宽度⼤。“user” ⽤户的设置 “behind” “sensor” “nosensor”
android:stateNotNeeded
是否 activity被销毁和成功重启并不保存状态
android:taskAffinity
activity的亲属关系, 默认情况同⼀个应⽤程序下的activity有相同的关系
android:theme
activity的样式主题, 如果没有设置,则activity的主题样式从属于应⽤程序,参见元素的theme属性
android:windowSoftInputMode
activity主窗⼝与软键盘的交互模式, ⾃从API level 3 被引⼊
活动的主窗⼝如何与包含屏幕上的软键盘窗⼝交互。这个属性的设置将会影响两件事情:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。