移动应用开发-第2章Android常见界面布局

界面由布局和控件组成。

2.1View

Andovid程序中可视化的界面组件的实体,主要提供组件绘制和事件处理的方法。

可分为容器类型和实休类型:容器类型viewgroup。实体类型主要用于用户交互。

viewgroup容器可以包含view的实体类型,也可以包含viewgroup容器。

Android程序中的每个界面必须有且只有一个viewgroup容器。

2.2界面布局的编写方式

2.2.1在XML文件中编写界面布局(静态)

2.2.2在Java代码中编写界面布局

Android程序中所有布局和控件的对象都可以通过new关键字来创建。

2种方式控制Android用户界面的本质是完全一样的。

2.3常见界面布局

五种:RelativeLayout(相对布局),LinearLayout(线性布局),Framelayout(帧布局),Tablelayout(表格布局),Constraintlayout(约束布局)。

2.3.1布局的通用属性

其前面有android:这里省略了。

id,layout_width,layout_height,background,layout_margin,padding。

1,id:@+id/属性名称定义后,在Java代码中调用findViewByld()方法获取布局对象。

2,layout_width:布局宽度。layout_height:布局高度。fill_parent与match_parent:与父容器宽(高)相同。wrap_content:恰好能包裹其内容。

3,background:设置布局背景。

4,layout_margin:用于设置当前布局与屏幕边界,周围布局或控件的距离。有其后+Top,Bottom,Left,Right四种相似属性。

5,padding属性用于设置当前布局内控件与该布局的距离。与layout_margin相似,主对象不同。

2.3.2RelativeLayout相对布局

通过相对定位的方式指定子控件的位置。

有layout_centerInParent控件位于父布局中间住置,layout_centervertical控件位于父布局垂直居中住置,layout_centerHorizontal控件位于父布局水平居中住置,layout_+above,below,toLoftOf,toRightOf四大控件与控件关系。layout_alignparent+Top,Left,Right,Bottom四大控件与父控件对齐关系。layout_align+Top,Bottom,Left,Right四大控件与控件对齐关系。

修改按钮背景颜色:在res\values\themes.xml文件中修改程序的主题样式Theme.RelativeLayout的父样式为Theme.MaterialComponents.DayNight.DarkActionBar.Bridge或Theme.AppCpmpat.Light。

2.3.3LinearLayout线性布局

通常指定布局内的子控件水平或垂直排列。

常用属性:

orientation:设置布局内控件的排列顺序。有vertical垂直排列,horizontal水平排列两种。

layout_weight:在布局内设置控件权重,属性值是int类型的数据。布局内控件按照权重比显示大小。layout_width属性值一般为0ddp才会有权重r占比效果。

2.3.6ConstraintLayout约束布局

约束布局是通过控件之间的约束关系来更好地编写界面布局,提高设计效率。

1,相对定位:约束布局中创建布局的基本构建方法之一。一个控件相对于另一个控件进行定位。横向边包括left,start,right,end。纵向边包括top,bottom,baseline。例:layout_constraintLeft_toLeftOf:控件的左边与另外一个控件的左边对齐。

2,居中定位和倾向:在横向或纵向方向中,添加的约束是相反的情况下,默认控件是居中的,当添加的两个约束的力大小不等时,就会产生倾向。layout_constraintHorizontal_bias横向的倾向。layout_coustraintVertical_bias纵向的倾向。注意:如控件在居中,横向或纵向方向上和父布局尺寸一致,此时该方向的居中约束和倾向没有意义。

3,Chain链:一种特殊约束,使我们能够对一组水平或竖直方向互相关联的控件进行统一管理。Chain中第一控件称为头控件,可通过layout_constraintHorizontal_chainstyle或vertical_chainstyle设置水平链条和竖直链条的样式。其属性值有spread平均分布,spread_inside与父布局无间距平均分布,packed:合并后在布局内居中显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值