Android Studio - 布局

线性布局-LinearLayout

android:orientation属性值包括vertical和horizontal,若不指定属性值,默认为horizontal。

需注意的是,如果排列方向是horizontal,内部控件就绝对不能将宽度指定为match_parent,如果是vertical,内部控件就不能将高度指定为match_parent

android:layout_gravity属性用于指定控件在布局中的对齐方式。

需注意的是,LinearLayout排列方向是horizontal时,只有垂直方向上的对齐方式才会生效,当排列方式为vertical时,只有水平方向上的对齐方式才会生效

android:layout_weight属性允许使用比例的方式指定控件的大小,例子如下

此时控件宽度不再由layout_width决定,layout_weight都指定为1,意为EditText和Button都将在水平方向平分宽度

相对布局-RelativeLayout

通过相对定位的方式让控件出现在布局的任何位置,通过改变android:layout_alginParentLeft,androitd:layout_alginParentRight,android:layout_alginParentTop,android:layout_alginParentBottom,android:layout_centerInParent这几个属性的值为true还是false来改变控件位置。这种方式下每个控件都是相对于父布局进行定位的。

通过android:layout_above属性可以让一个控件位于另一个控件上方,需要为这个属性指定相对控件的id,还有android:layout_below,android:layout_toLeftOf,android:layout_toRightOf这三个属性。

需注意的是,当一个控件去引用另一个控件的id时,该控件一定要定义在引用控件的后面。

百分比布局

在这种布局中,可以不再使用wrap_content,match_parent等方式来指定控件的大小,允许直接指定控件在布局中所占的百分比。与前三种布局不同,百分比布局需要在build.gradle中添加百分比布局库的依赖。

使用app:layout_widthPercent,app:layout_heightPercent

posted @ 2022-05-08 17:55  今天没失眠  阅读(102)  评论(0编辑  收藏  举报