android自定义线性布局,Android LinearLayout线性布局详解

为了更好地管理Android应用的用户界面里的各组件,Android提供了布局管理器。通过使用布局管理器,Android应用图形用户界面具有良好的平台无关性。推荐使用布局管理器来管理组件的分布、大小,而不是直接设置组件的位置和大小。可以使用布局管理器嵌套布局管理器,即也可作为一个UI组件来使用。

LinearLayout可以控制组件横向排列或者纵向排列,内容不会换行,超出屏幕部分将不会显示出来。

学习图解

c4d09604c416490859b4972ebe01708b.png

LinearLayout 常用XML属性及方法

【属性一】orientation 设置子组件的排列方式(单选)

XML:android:orientation="horizontal"

691dacdcba7c156cdd9a7ac3a5d67d31.png

horizontal:横向排列

vertical:纵向排列

JAVA :linearLayout.setOrientation(LinearLayout.VERTICAL);

LinearLayout.HORIZONTAL横向排列

7bbcce8305cf4fe3d2224d21b3ea9ccf.png

LinearLayout.VERTICAL纵向排列

a0c567f951d044fd92d12fd1f9ff187e.png

【属性二】gravity设置子组件的对齐方式(多选)

XML:android:gravity="center"

fafce52126f5781e4eeb672a10691b68.png

JAVA :linearLayout.setGravity(Gravity.CENTER);

bc715030819c7e535600ae6689be9b08.png

【属性三】baselineAligned 设置子元素基准线对弃,默认为true

基准线:

打开的英语练习本,那条红线就是基准线

b0a1561ce44e97a7d43fce961b4d5b7a.png

d69be555c89f4f1f0a83f7268cc92010.png

XML:android:baselineAligned="false"

e47d41357ad075b3c70111d1ececfb5c.png

JAVA:linearLayout.setBaselineAligned(true);

代码:true

TextViewandroid:layout_heightandroid:background="@android:color/holo_red_light"android:padding="20dp"android:text="text1"android:textSize="30sp"

="@android:color/holo_blue_light"="10dp"="text2"="16sp">

LinearLayout>

83330323f82a903902bcdfe9042b9e7a.png

@H_719_301@

【搭配属性三】baselineAlignedChildIndex LinearLayout的基准线以他的第几个子元素为准,下标从0开始

一个LinearLayout 里面有很多 textview ,每一个 textview 都有自己的基准线,那么LinearLayout可能也是另一个LinearLayout的子元素,作为子元素 baselineAlignedChildIndex 就决定这他的一个基准线

XML:android:baselineAlignedChildIndex="0"

JAVA:linearLayout.setBaselineAlignedChildIndex(0);

代码:⭐注意内部的LinearLayout,后面将在 第二个LinearLayout上添加 baselineAlignedChildIndex ,搭配  baselineAligned="false" 使用

LinearLayoutandroid:layout_heightandroid:orientation>

="false">

="这是text2"="20sp"="这是text1"="@android:color/holo_green_dark"="15sp"TextViewandroid:text="这是text4"android:textSize="25sp"android:background="@android:color/holo_orange_light"

="@android:color/black"="text"android:textColor="@android:color/white">

>

>

2dac6b645cedb87bd16d214f9b030cc0.png

ea89e6ce197b092077a9245a8f6048f0.png

2394c2da485a7bcbf7c80668547a32ab.png

2bb503c9068e81032a8bd061144c0e1f.png

⭐ 总结

默认LinearLayout是没有基准线的,从图一和图三的对比可知。

下标从0开始三个子组件,最大index为2,超过2时布局将不显示

这个属性是用来决定当前LinearLayout的基准线时以哪个子组件为准的

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部