一、布局:
- Linearlayout----线性布局
weightSum:权重量
layout_weight:权重比例 - RelativeLayout----相对布局
layout_alignParentXXX:相对父控件布局;
layout_centerInParent:在Activity居中;
layout_centerVertical:垂直居中;
layout_centerHrizontal:水平居中;
layout_alignParentBottom:在Activity底部;
layout_alignParentLeft:在Activity左上侧;
layout_alignParentRight:在Activity右上侧;
layout_alignParentEnd:
layout_alignParentStart:
layout_alignParentTop:
layout_alignWithParentIfMissing:
属性的赋值为“@id/id-name”
layout_above:底边线与某个控件的上边线对齐
layout_below:上边线与某个控件的底边线对齐
layout_toLeftOf:右边线与某个控件的左边线对齐
layout_toRightOf:左边线与某个控件的右边线对齐
layout_toStartOf:
layout_toEndOf:
-------------------------------
layout_alignStart:
layout_alignEnd:
layout_alignBaseline:文字与某个控件内的文字对齐(基线)
layout_alignBottom:底边与某个控件的底边对齐
layout_alignLeft:左边线与某个控件的左边线对齐
layout_alignRight:右边线与某个控件的右边线对齐
layout_alignTop:上边线与某个控件的上边线对齐
layout_margin、layout_marginTop等:相对父控件的边距;
padding、paddingLeft等:内边距,即控件与控件内文字间的边距;
- FrameLayout----帧布局、框架布局
- TableLayout----表格布局
<TableRow></TableRow>
Hdpi
ldpi: 240x320
mdpi:320x480
hdpi:480x800
xhdpi:960*720
xxhdpi:1280×720
二、优化:
- 学会用RelativeLayout减少布局层次,布局层次太多会影响app的流畅。
<include />:重用布局文件;
<merge />:减少视图层级;
<ViewStub />:需要时才加载。 - 小技巧:
不要嵌套多个使用layout_weight的Linearlayout
Android lint
HierarchyViewer