Android UI之LinearLayout(线性布局)

说明:线性布局是最常用的布局,其包含的所有View会按照线性来排列。

需要注意的就是四个比较常用的xml属性:

1 android:gravity

对应方法:setGravity(int)

说明:这个属性设置布局内组件的对齐方式,支持以下属性值:

属性值 作用
top 将对象放在其容器的顶部,不改变其大小
bottom 将对象放在其容器的底部,不改变其大小
left 将对象放在其容器的左侧,不改变其大小
right 将对象放在其容器的右侧,不改变其大小
left 将对象放在其容器的左侧,不改变其大小
center_vertical 将对象纵向居中,不改变其大小
center_horizontal 将对象横向居中,不改变其大小
center 将对象横纵向居中,不改变其大小
fill_vertical 必要的时候增加对象的纵向大小,以完全充满其容器
fill_horizontal 必要的时候增加对象的横向大小,以完全充满其容器
fill 必要的时候增加对象的横纵向大小,以完全充满其容器
clip_vertical 附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容。 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部。
clip_horizontal 附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容。 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧。

以上属性值可以多选,中间用“|”分隔。

2 android:orientation

对应方法:setOrientation(int)

说明:这个属性设置LinearLayout中布局的排列方式,支持horizontal(水平排列)和vertical(垂直排列)两种属性值,默认为垂直排列。

注意:需要特别说明的是,orientation的值会影响到gravity的设置。

只有orientation设置为vertical时,才可以使用跟水平方向有关的布局,比如:left;

只有orientation设置为horizontal时,才可以使用跟垂直方向有关的布局,比如:bottom;

也就是说,只有与orientation值相反的gravity属性值才可以起作用

3 android:layout_gravity

说明:看名字就与android:gravity很像,但两者还是有区别的。

android:gravity是对该View中内容摆放位置的设置,比如:LinearLayout中button的摆放位置,默认为从左上角开始;

android:layout_gravity是相对与该View的父View来说的,说明该元素显示在父View中的摆放位置,比如:button想要摆放在LinearLayout的底部。

4 android:weight

说明:指定改View在LinearLayout中所占的权重。

这里的权重是给组件分配完之后的剩余空间比重。

注意:实际开发时,我们不能将组价需要设置权重的方向设置宽/高度。

详情可以去xiaanming的博客去了解,这里不做太多说明

所以,如果我们想让组件在水平方向上按比例排列,就需要把组件的android:layout_width属性设为0dp

附:引用声明

蝈蝈俊的技术心得:android:layout_gravity 和 android:gravity 的区别

Mobile Internet developer:Android 对Layout_weight属性完全解析以及使用ListView来实现表格

《疯狂Android讲义(第二版)》 李刚 《2.2.1 线性布局》 电子工业出版社

时间: 2024-12-24 15:59:26

Android UI之LinearLayout(线性布局)的相关文章

Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件

UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个用于存放其他View和ViewGroup对象的布局容器! Android为我们提供了View和ViewGroup的两个子类的集合,提供常用的一些输入控件(比如按钮,图片和文本域等)和各种各样的布局模式(比如线程布局,相对布局,绝对布局,帧布局,表格布局等). 用户界面布局 在你APP软件上的,用户界面上显示

Android中LinearLayout线性布局

android:orientation="vertical"垂直线性布局,"horizontal"水平线性布局 android:gravity="top"(buttom.left.right.center_vertical.fill_vertical.center_horizontal.fill_horizontal.center.fill.clip_vertical.clip_horizontal)控制布局中控件的对齐方式.如果是没有子控件的控

android 59 LinearLayout 线性布局

##常见的布局* LinearLayout 线性布局线性布局往左右拉是拉不动的,> 线性布局的朝向 vertical|horizontal> 线性布局的权重 weight 和 0dip一起使用 <?xml version="1.0" encoding="utf-8"?> <!-- 线性布局控件自上而下整齐的排列 --> <LinearLayout xmlns:android="http://schemas.andr

Android基础入门教程——2.2.1 LinearLayout(线性布局)

Android基础入门教程--2.2.1 LinearLayout(线性布局) 标签(空格分隔): Android基础入门教程 本节引言: 本节开始讲Android中的布局,Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局) 而今天我们要讲解的就是第一个布局,LinearLayout(线

android学习——LinearLayout线性布局

LinearLayout线性布局 LinearLayout是一种线型的布局方式.LinearLayout布局容器内的组件一个挨着一个地排列起来:不仅可以控制个组件横向排列,也可控制各组件纵向排列.通过orientation属性设置线性排列的方向是垂直(vertical)还是纵向(horizontal). 我们下面通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.创建一个空白Activity 2.打开“res/layout/activity_main.xml”文件,修改成

布局Layouts之LinearLayout线性布局

从Hello world!开始,我们一直都是在一种布局下学习的,当然,对于基础内容的学习,还是没有任何问题的!但-- 在Android开发中UI设计也是十分重要的,当用户使用一个App时,最先感受到的不是这款软件的功能是否强大,而是界面设计是否赏心悦目,用户体验是否良好.也可以这样说,有一个好的界面设计去吸引用户的使用,才能让更多的用户体验到软件功能的强大. 那么,Android中几种常用布局则显得至关重要.各个布局既可以单独使用,也可以嵌套使用,我们应该在实际应用中应灵活变通. 第2章.Lin

布局Layouts之LinearLayout线性布局(转)

从Hello world!开始,我们一直都是在一种布局下学习的,当然,对于基础内容的学习,还是没有任何问题的!但—— 在Android开发中UI设计也是十分重要的,当用户使用一个App时,最先感受到的不是这款软件的功能是否强大,而是界面设计是否赏心悦目,用户体验是否良好.也可以这样说,有一个好的界面设计去吸引用户的使用,才能让更多的用户体验到软件功能的强大. 那么,Android中几种常用布局则显得至关重要.各个布局既可以单独使用,也可以嵌套使用,我们应该在实际应用中应灵活变通. LinearL

New UI-布局之LinearLayout(线性布局)详解

New UI-布局之LinearLayout(线性布局)详解  --转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途! 小猪Android开发交流群已建立,欢迎大家加入,无论是新手,菜鸟,大神都可以,小猪一个人的 力量毕竟是有限的,写出来的东西肯定会有很多纰漏不足,欢迎大家指出,集思广益,让小猪的博文 更加的详尽,帮到更多的人,O(∩_∩)O谢谢! 小猪Android开发交流群:小猪Android开发交流群群号:421858269 新Android UI实例大全目录:http://

2.2.1 LinearLayout(线性布局)

本节引言 本节开始讲Android中的布局,Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局) 而今天我们要讲解的就是第一个布局,LinearLayout(线性布局),我们屏幕适配的使用 用的比较多的就是LinearLayout的weight(权重属性),在这一节里,我们会详细地解析 L