天天看点

Android组件----RelativeLayout相对布局的属性详解

一、常用属性:

1、第一类:属性值为true或false

android:layout_centerhrizontal    相对于父元素水平居中 android:layout_centervertical       相对于父元素垂直居中 android:layout_centerinparent         相对于父元素完全居中 android:layout_alignparentbottom         贴紧父元素的下边缘(align:对齐) android:layout_alignparentleft           贴紧父元素的左边缘 android:layout_alignparentright            贴紧父元素的右边缘(默认值为false) android:layout_alignparenttop               贴紧父元素的上边缘 android:layout_alignwithparentifmissing     如果对应的兄弟元素找不到的话就以父元素做参照物

2、第二类:属性值必须为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    本元素的右边缘和某元素的的右边缘对齐

3、第三类:属性值为具体的像素值,如30dp(外边距和内边距)

android:layout_margin           外边距(margin:边缘) android:layout_margintop           上外边距 android:layout_marginbottom      下外边距  android:layout_marginleft           左外边距 android:layout_marginright         右外边距 android:padding          内边距(padding:填充) android:paddingtop         上内边距 android:paddingbottom       下内边距 android:paddingleft         左内边距 android:paddingright              右内边距

4、第四类:android4.2新增属性 

android:layout_alignstart           两个控件开始对齐 android:layout_alignend                 两个控件结束对齐 android:layout_alignparentstart      子控件和父控件开始对齐 android:layout_alignparentend    子控件和父控件结束对齐

二、外边距和内边距的解释:

来看下面这张图:

Android组件----RelativeLayout相对布局的属性详解

例如:当在布局文件中,

将第一个textview加入如下代码:(注:margin的意思是“边缘”)

将第二个textview加入如下代码:(注:padding的意思是“填充”)

最终效果如下: 

Android组件----RelativeLayout相对布局的属性详解

三、对齐至控件的基准线:

android:layout_alignbaseline      与某元素的基准线对齐

什么是基准线?

基准线:为了保证印刷字母的整齐而划定的线。

Android组件----RelativeLayout相对布局的属性详解

上图中的第三条线就是基准线。

完整版代码举例:

Android组件----RelativeLayout相对布局的属性详解
Android组件----RelativeLayout相对布局的属性详解

上方代码的第19行就是将tv2对齐至tv1的基准线。

显示效果如下:

Android组件----RelativeLayout相对布局的属性详解

上图中绿色的虚线即为基准线。

三、其他属性:

1、edittext控件:

android:hint   设置edittext为空时输入框内的提示信息。

2、android:gravity

android:gravity  该属性是对该view里面的内容的限定。比如一个button里面的text,你可以设置该text在view的靠左、靠右等位置。

以button为例:

  android:gravity="right"      可以让button里面的文字靠右

  android:gravity="top"        可以让编辑框edittext的光标置于左上方

3、android:gravity和线性布局中的android:layout_gravity区别:

gravity    控制当前控件里面的内容显示区域

线性布局中的layout_gravity    当前控件在父元素的位置

比如弄个最外布局,然后里面包了几个布局,如果要使这几个布局都靠底,就可以在最外布局的属性里设置androi:gravity="botton"  因为gravity是对里面的内容起作用。

继续阅读