RelativeLayout用到的一些重要的属性:
第一类:属性值为true或false
android:layout_centerHrizontal
水平居中
android:layout_centerVertical
垂直居中
android:layout_centerInparent
相对于父元素完全居中
android:layout_alignParentBottom
贴紧父元素的下边缘
android:layout_alignParentLeft
贴紧父元素的左边缘
android:layout_alignParentRight
贴紧父元素的右边缘
android:layout_alignParentTop
贴紧父元素的上边缘
android:layout_alignParentStart
子控件和父控件开始对齐
android:layout_alignParentEnd
子控件和父控件结束对齐
第二类:属性值必须为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
本元素的右边缘和某元素的的右边缘对齐
android:layout_alignBaseline
以某元素为基准线对齐 >API17加入 >
android:layout_alignStart
两个控件开始对齐
android:layout_alignEnd
两个控件结束对齐
第三类:属性值为具体的像素值,如30dp,40px
android:layout_marginBottom
离某元素底边缘的距离
android:layout_marginLeft
离某元素左边缘的距离
android:layout_marginRight
离某元素右边缘的距离
android:layout_marginTop
离某元素上边缘的距离
android:padding
: 内边框,会撑大View。
EditText的android:hint
设置EditText为空时输入框内的提示信息。
android:gravity
属性是对该view 内容的限定.
比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.以button为例,android:gravity="right"则button上面的文字靠右
android:layout_gravity
是用来设置该view相对与起父view 的位置.
比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity="right"则button靠右
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 用矩阵来绘制,动态缩小放大图片来显示。
LinearLayout-线性布局
android:orientation
:设置布局走向
android:gravity
:属性是对该view中内容的限定
android:layout_gravity
:是用来设置该view相对与父view 的位置
android:layout_weight
:权重,权值越大的,重要度则越小
android:baselineAligned
: 子元素底部对齐
注意:
padding和layout_margin区别:
padding
:内边框,把view撑开一定的dp,可以扩大该view的大小
layout_margin
:外边框,view距离其他view的距离,该view大小不变
LinearLayout和RelativeLayout居中处理:
RelativeLayout:
android:layout_centerHrizontal
水平居中
android:layout_centerVertical
垂直居中
android:layout_centerInparent
相对于父元素完全居中
android:gravity
对RelativeLayout不起作用
LinearLayout:
android:gravity
: 属性是对该view中内容的限定
android:layout_gravity
: 是用来设置该view相对与父view 的位置
LinearLayout布局特殊情况
1)当 android:orientation="vertical"
时, android:layout_gravity
只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left
,right
,center_horizontal
是生效的。
(2)当 android:orientation="horizontal"
时, android:layout_gravity
只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top
,bottom
,center_vertical
是生效的。