栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

三种Android布局方式:LinearLayout

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

三种Android布局方式:LinearLayout

LinearLayout线性布局

控件的排列方式:垂直排列、水平排列

android:orientation 属性:

可选值为 vertical (垂直的)和 horizontal (水平的)

     

如果不指定 android:orientation 默认值是 horizontal (水平)

如果排列方式是水平,则控件宽度不能设置成match_parent。

android:layout_gravity  属性和 android:gravity 属性不同:

android:gravity:指的是文字在控件中的对齐方式

android:layout_gravity :指的是控件在布局中的对齐方式

当LinearLayout的排列方向是horizontal时,只有垂直方向上的对齐方式才会生效,因为此时水平方向上的长度是不固定的。

同样的道理,当LinearLayout的排列方向是vertical时,只有水平方向上的对齐方式才会生效。

还有一个重要属性:android:layout_weight

允许我们使用比例的方式来控制控件的大小。它在手机屏幕的适配性方面可以起到非常重要的作用。


    

    

效果如图:

 实现原理很简单,Activity会将所有的android:layout_weight相加起来,然后每个控件所占大小的比例就是用该控件的layout_weight值除以刚才算出的总值。

我们同样可以设置部分其他控件的宽度,来实现更好的效果,对于上述,我们可以修改button 的 width,写成:

    

得到的效果如图:

 RelativeLayout相对布局

与线性布局不同,相对布局更加随意,通过相对定位的方式进行布局。

相对父布局定位:

    

效果如图:

 所用到的属性为:

android:layout_alignParentLeft、android:layout_alignParentTop、android:layout_alignParentRight、android:layout_alignParentBottom、android:layout_centerInParent

还可以相对于控件进行定位:相对于控件进行布局需要对每一个控件设置一个  id

所用到的属性有:layout_above(id)、layout_below(id)、layout_toRightOf(id)、layout_toLeftOf(id)

当运用到某个id时,要按顺序,否则会找不到id!!

还有另一组对齐的属性:android:layout_alignLeft、android:layout_alignRight、android:layout_alignTop、android:layout_alignBottom

分别为与某个控件的左边缘、右边缘、顶边缘、底边缘对齐。

frameLayout帧布局

定位方式欠缺:这种布局没有丰富的定位方式,所有的控件都会默认摆放在布局的左上角。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/785359.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号