安卓开发入门教程-常用布局_LinearLayout
发布日期:2021-06-29 18:30:21
浏览次数:2
分类:技术文章
本文共 2807 字,大约阅读时间需要 9 分钟。
关注 ,免费获取全套安卓开发学习资料
什么是LinearLayout
LinearLayout又称线性布局,是安卓开发中几个常用的布局之一,使用频率较高,而且非常简单.布局内的控件依次排列,支持横向或纵向排列.
基础样例
1. 纵向排列
效果图
代码
代码说明:
- 设置android:orientation为vertical,展示方向变成纵向
- LinearLayout里面包括了三个显示文本的TextView.
2. 横向排列
效果图
代码
...
代码说明:
- 上面“…”部分内容同上一样例.
- 设置android:orientation为horizontal,展示方向变成横向.
3. 调整子控件摆放位置(gravity属性)
通过LinearLayout的android:gravity属性控制其子控件相对于自己的对齐方式.
3.1 水平居中
效果图
代码
3.2 垂直居中
效果图
代码
3.3 水平+垂直居中
效果图
代码
其他的还有:
居左(android:gravity=“start”) 居右(android:gravity=“end”) 居上(android:gravity=“top”) 居下(android:gravity=“bottom”) 组合,如: 下右(android:gravity=“bottom|end”) 中右(android:gravity=“center|end”)4. 调整子控件摆放位置(layout_gravity属性)
LinearLayout里的子控件可以通过layout_gravity属性控制其相对于父控件的对齐方式.
4.1 水平居中
效果图
- LinearLayout的排列方式设置为纵向 :
android:orientation="vertical"
- 子控件设置为水平居中:
android:layout_gravity="center_horizontal"
代码
4.2 垂直居中
效果图
代码
- LinearLayout的排列方式设置为横向 :
android:orientation="horizontal"
- 子控件设置为垂直居中:
android:layout_gravity="center_vertical"
4.3 居下
效果图
代码
- LinearLayout的排列方式设置为横向 :
android:orientation="horizontal"
- 子控件设置为居下:
android:layout_gravity="bottom"
4.3 居右
效果图
代码
- LinearLayout的排列方式设置为纵向 :
android:orientation="vertical"
- 子控件设置为居右:
android:layout_gravity="end"
注意事项:
- 当LinearLayout的排列方式设置为纵向 (
android:orientation="vertical"
)时,子控件只能居左/中/右( android:layout_gravity设置为start,center_horizontal,end),而不能上/中/下.因为纵向排列时,在垂直方向上,单个子控件是没有铺满父控件的. - 当LinearLayout的排列方式设置为横向 (
android:orientation="horizontal"
)时,子控件只能居上/中/下( android:layout_gravity设置为top,center_vertical,bottom),而不能左/中/右.因为横向排列时,在水平方向上,单个子控件是没有铺满父控件的.
5. 按比例分空间(layout_weight)
LinearLayout里的子控件可以通过layout_weight属性按比例分空间大小(横向或纵向).按照LinearLayout里所有直属子控件(不算子控件的子控件)设置的layout_weight作为总和,各个控件按照自己的layout_weight所占总和比例来分空闲空间(有些控件未设置layout_weight,则按照固定值).
5.1 等分空间
效果图
代码
代码说明:
1.两个按钮都设置android:layout_weight属性,且值相同,故平分空间.5.2 按比例分
一个控件保持固定大小,一个占据剩余可用空间.
效果图
代码
代码说明:
- 第二个按钮不设置android:layout_weight属性,保持本身大小.
- 第一个按钮设置android:layout_weight属性,占据所有剩余可用空间.
基础样例完整源代码
常用属性说明
属性名 | 用途 |
---|---|
android:layout_width | 设置控件宽度,可设置为:match_parent(和父控件一样),wrap_content(按照内容自动伸缩),设置固定值(如200dp) |
android:layout_height | 设置控件高度,可设置为:match_parent(和父控件一样),wrap_content(按照内容自动伸缩),设置固定值(如200dp) |
android:gravity | 控件内子控件对齐方式,可选址:start(居左),end(居右),top(居上),bottom(居下),center_horizontal(水平居中),center_vertical(垂直居中),center(水平和垂直方向都居中)… |
android:layout_gravity | 控件相对于父控件对齐方式,可选址:start(居左),end(居右),top(居上),bottom(居下),center_horizontal(水平居中),center_vertical(垂直居中),center(水平和垂直方向都居中)… |
android:background | 设置背景,可以是色值(如#FF0000)或图片等 |
android:visibility | 可选值: visible(显示), invisible(隐藏,但是仍占据UI空间),gone(隐藏,且不占UI空间) |
layout_weight | LinearLayout所有直属子控件,通过该属性值按比例分剩余可用空间 |
更多属性及实际效果,可以在开发工具里自行体验.
安卓开发入门教程系列汇总
开发语言学习
UI控件学习系列
关注头条号,第一时间获取最新文章:
转载地址:https://cxyxy.blog.csdn.net/article/details/108356606 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月09日 02时43分41秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ABAQUS高级案例解析
2021-07-02
人工智能药物研发
2021-07-02
【超级干货+福利】AIDD最全面的学习教程
2021-07-02
最新通知:AIDD与网络药理学资料大全
2021-07-02
Lammps分子动力学与第一性原理材料模拟及催化
2021-07-02
实习生小白的日常
2021-07-02
实习小白的日常(4)
2021-07-02
微信扫码登录验证PHP代码(不用开放平台)
2021-07-02
CH554E USB单片机 10引脚小封装低成本USB方案
2021-07-02
windows MQTT客户端
2021-07-02
LINUX下挂载(mount)查看树莓派镜像文件
2021-07-02
1元钱的超低成本单芯片USB单片机方案
2021-07-02
单片机/树莓派扩展双串口(TTL和RS485)
2021-07-02
基于CH568芯片的SATA电子盘方案
2021-07-02
linux下C语言判断网络是否连接
2021-07-02
2021/4/27课堂总结和作业
2021-07-02
2021.4.28课堂总结和作业
2021-07-02
2021.4.29课堂总结
2021-07-02
2021.4.30课堂总结和作业
2021-07-02