在开发安卓项目中,RelativeLayout相对布局也是经常会用到的布局!使用RelativeLayout相对布局来布局的页面虽然灵活,但是属性之间也容易产生冲突。
一、TableLayout概念:
RelativeLayout相对布局允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。相对布局和LinearLayout,FrameLayout相比较来说,性能不是最好的,但是它可以大大减少布局的结构层次,从而达到优化布局的效果,它的灵活性大很多,当然属性也多,属性之间产生冲突的的可能性也大,使用相对布局时要多做些测试。
二、RelativeLayout的基本属性:
1、gravity设置容器内组件的显示位置,居中,上下左右都可以;
2、ignoreGravity设置了该属性为true的属性的组件,将不受gravity属性的影响。
3、layout_alignParentStart设置是否紧贴父布局开始的位置
4、layout_alignParentEnd=设置是否紧贴父布局结束的位置
5、layout_toStartOf设置位于某个id控件的开始位置
6、layout_toEndOf设置位于某个id控件的结束位置
7、layout_alignStart设置和某个id的控件的开始位置位于一条线上
8、layout_alignEnd设置和某个id的控件的结束位置位于一条线上
9、layout_alignWithParentIfMissing如果找不到其他子控件,就相对于父控件布
三、根据父容器定位属性:
1、alignParentTop贴紧父元素的上边缘;
2、alignParentButton贴紧父元素的下边缘;
3、alignParentLeft贴紧父元素的左边缘;
4、alignParentRight贴紧父元素的右边缘;
5、layout_centerHorizontal水平居中;
6、layout_centerVerical垂直居中;
7、layout_centerInParent相对于父元素完全居中;
例子:
页面效果:
四、根据兄弟组件定位属性:
1、layout_above参考组件的上方;2、layout_below参考组件下方;
3、layout_toLeftOf参考组件的左边;4、layout_toRightOf参考组件的右边;
5、layout_anlignTop对齐参考组件的上边缘;6、layout_alignButtom对齐参考组件的下边缘;
7、layout_alignLeft对齐参考组件的左边缘;8、layout_alignRight对齐参考组件的右边缘;
例子:
页面效果:
五、margin偏移和padding填充属性
layout_marginBottom离某元素底边缘的距离
layout_marginLeft离某元素左边缘的距离
layout_marginRigh离某元素右边缘的距离
layout_marginTop离某元素上边缘的距离
例子:
页面效果:
注意:padding填充用法跟margin偏移用法也是一样,将layout_marginLeft的margin替换成padding即可;只不过padding是填充效果!