博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线性布局(LinearLayout)——Mars Android开发视频之第一季第十二集(重)
阅读量:6246 次
发布时间:2019-06-22

本文共 1590 字,大约阅读时间需要 5 分钟。

hot3.png

##1·LinearLayout布局的嵌套 下图为三个线性布局嵌套的结果。最外层为一个水平排列的线性布局,内层为两个垂直排列的线性布局, 其中每个包含两个文本框。

输入图片说明

###1.1·实现:

首先,外层为水平排列的线性布局

然后在里面添加两个垂直排列的线性布局,每个含两个文本框:

第一个

android:orientation="vertical">

第二个:

至此,我们就完成了一个线性布局嵌套-----水平方向的线性布局嵌套两个垂直方向的线性布局:

输入图片说明

##2·layout_weight属性 ###2.1·作用: 子控件占父控件的空余空间的比例

  • 要求1:子控件并未占满父控件的所有空间,也就是要有空余空间。

输入图片说明

  • 要求2:layout_weight的值(整型)用于指定父控件的空闲空间的分配比例

例: 控件1和控件2的layout_weight属性值都设置为1的话。

输入图片说明

它们将平分父控件的空闲空间,其效果为:

输入图片说明

为了方便理解,我们用刚才的代码做个试验:

我们把文本框3和4的layout_weight属性设置为1,文本框1和2不变,效果为:

输入图片说明

父控件白色空余部分平均分配给了文本框3和4.

注意,平均分配的部分仅仅是父控件的空余空间。两个子控件所占空间并非一定相等。

输入图片说明

同样的代码,我仅仅将文本框3的文本内容多增加了一点,就是这样一种效果。 layout_weight为1的话,子控件并非一定相等,它们仅仅是平均分配了父控件的空余空间而已。

###2.2·精确控制子控件在整个父控件中所占比例 假如,我们想要让两个子控件在父控件中精确的占据三分之一,和三分之二的空间。

那么我们只需将:

  • 两个子控件的高度设置为0dp(布局如果是水平排列,那么就将宽度设置为0dp);
  • layout_weight分别设置为1和2。

这时的效果为:

输入图片说明

如此,我们就实现了,精确控制两个子控件分别占据整个父控件的三分之一和三分之二。 ##3·练习 实现这样的布局: 输入图片说明

###3.1实现: 最外层一个垂直方向的线性布局:

第一部分为一个文本域: (内容居中使用gravity属性)

输入图片说明

接着是一个按钮(中间那个复杂的部分留在最后来实现):

输入图片说明

接着是两个文本域,它们需要放在水平的线性布局里:

在水平的线性布局里放入两个宽度一样的文本域:

输入图片说明

最后是,中间复杂的部分。

输入图片说明

首先,是一个水平线性布局:

然后在这个线性布局中,又包含两个宽度相等的垂直线性布局:

然后在两个垂直线性布局中,各有一个图片视图:

输入图片说明

最后在图片下面有一组单选按钮:

这样,就完成了。 输入图片说明

##4·附录 给边框设置颜色:

首先,在res目录下的drawable文件夹下创建一个border.xml 然后替换为以下代码,之后在通过android:background="@drawable/border.xml"调用即可。:

转载于:https://my.oschina.net/u/2437172/blog/494373

你可能感兴趣的文章
经过几天的推敲学习
查看>>
Python Day30
查看>>
WebRequest对DNS说:没有你我依然可以
查看>>
jvm垃圾收集小记
查看>>
MonthCalendar的mousedown方法选择日期
查看>>
用于pytorch的H5Dataset接口(类比TensorDataset接口)
查看>>
Python-入门第三篇
查看>>
解决Cannot change version of project facet Dynamic Web M
查看>>
mysql备份与恢复
查看>>
hadoop实例sort
查看>>
jstat (JVM统计监测工具)
查看>>
git 免密码push,pull
查看>>
js懒加载
查看>>
计算某时间是年中第几周。
查看>>
【论文阅读】A mixed-scale dense convolutional neural network for image analysis
查看>>
用正则表达式匹配网址URL中最后一个反斜杠/后面的内容
查看>>
Define custom @Required-style annotation in Spring
查看>>
General: Know How to Use InetAddress
查看>>
php 克隆和引用类
查看>>
Linux编程之变量
查看>>