Android之线性布局的4个重要参数
线性布局中,有 4 个及其重要的参数,直接决定元素的布局和位置,这四个参数是
android:layout_gravity ( 是本元素相对于父元素的重力方向 )
android:gravity (是本元素所有子元素的重力方向)
android:orientation (线性布局以列或行来显示内部子元素)
android:layout_weight (线性布局内子元素对未占用空间【水平或垂直】分配权重值,其值越小,权重越大。
前提是子元素 设置了 android:layout_width = "fill_parent" 属性(水平方向)
或 android:layout_height = "fill_parent" 属性(垂直方向)
如果某个子元素的 android:layout_width = "wrap_content"
或 android:layout_height =" wrap_content” ,
则 android:layout_weight 的设置值 对该方向上空间的分配刚好相反。
下面以一个简单例子来说明这 4个参数
<? xml version = "1.0" encoding = "utf-8" ?>
< LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_height = "200dp"
android:layout_width = "200dp"
android:background = "#AABBCC"
android:orientation= "horizontal"
android:layout_gravity= "center" >
< TextView android:text = "ONE"
android:background = "#aa0000"
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
android:layout_margin = "1dp" />
< TextView android:text = "TWO"
android:background = "#aa0000"
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
android:layout_margin = "1dp" />
</ LinearLayout >
说明:在上面的例子中,根布局是LinearLayout, 其包含有2 个TextView 视图,为了对参数 android:layout_gravity有直观的了解,对根布局 LinearLayout 特意加了 3 个参数
android:layout_height = "200dp"
android:layout_width = "200dp"
android:background = "#AABBCC"
为布局指定了固定的宽度和高度,以及背景颜色,上面的例子运行后效果如下图:
说明:对LinearLayout 中的参数android:layout_gravity 来说,其意义是指定本布局相对于父布局的重力方向,由于该布局的已经是根布局,其父布局是整个屏幕,那么该参数设置的是相对于屏幕的位置,可以换不同的参数top|bottom|left|right 等等参数来试验。
现在增加参数 android:gravity = "bottom|right" 完整 XML 如下,看看效果
<? xml version = "1.0" encoding = "utf-8" ?>
< LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_height = "200dp"
android:layout_width = "200dp"
android:background = "#AABBCC"
android:orientation="horizontal"
android:layout_gravity= "center"
android:gravity = "bottom|right " >
< TextView android:text = "ONE"
android:background = "#aa0000"
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
android:layout_margin = "1dp" />
< TextView android:text = "TWO"
android:background = "#aa0000"
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
android:layout_margin = "1dp" />
</ LinearLayout >
通过改变android:gravity 参数的值可以看到实际效果。
参数 android:orientation= " horizontal " 决定了每个子元素各占一列,如果
参数 android:orientation= " vertical " , 则每个子元素各占一行,也就是从上到下排列了。
对于 LinearLayout 布局的子元素,给每个子元素加上参数 android:layout_weight
看看效果
<? xml version = "1.0" encoding = "utf-8" ?>
< LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_height = "200dp"
android:layout_width = "200dp"
android:background = "#AABBCC"
android:layout_gravity = "center"
android:gravity = "bottom|right"
android:orientation = "horizontal" >
< TextView android:text = "ONE"
android:background = "#aa0000"
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
android:layout_margin = "1dp"
android:layout_weight = "1" />
< TextView android:text = "TWO"
android:background = "#aa0000"
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
android:layout_margin = "1dp"
android:layout_weight = "2" />
</ LinearLayout >
Text 为ONE 的权重为1 ,但明显占的宽度比TWO 的小,百思不得其解,后来得知,如果把TextView 的参数android:layout_width = "wrap_content" 全部修改为 android:layout_width = "fill_parent", 则 ok ,代码如下
<? xml version = "1.0" encoding = "utf-8" ?>
< LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_height = "200dp"
android:layout_width = "200dp"
android:background = "#AABBCC"
android:layout_gravity = "center"
android:gravity = "bottom|right"
android:orientation = "horizontal" >
< TextView android:text = "ONE"
android:background = "#aa0000"
android:layout_height = "wrap_content"
android:layout_width = " fill_parent "
android:layout_margin = "1dp"
android:layout_weight = "1" />
< TextView android:text = "TWO"
android:background = "#aa0000"
android:layout_height = "wrap_content"
android:layout_width = " fill_parent "
android:layout_margin = "1dp"
android:layout_weight = "2" />
</ LinearLayout >
Android之线性布局的4个重要参数相关推荐
- Android Studio 线性布局Linearlayout的控件位置控制l属性Layout_margin失效问题解决
Android Studio 线性布局Linearlayout的控件位置控制l属性Layout_margin失效问题解决 问题:如layout_marginRight ="50dp" ...
- 【Android】线性布局(LinearLayout)最全解析
[Android]线性布局(LinearLayout)最全解析 一.LinearLayout概述 二.LinearLayout常用属性 2.1 orientation属性 2.2 gravity属性 ...
- 003 Android之线性布局与基础控件
文章目录 Android快速入门三步 布局介绍 LinearLayout布局属性 代码示例 基础控件 TextView和EditText 使用TextView与EditText ImageView I ...
- Android:安卓线性布局(属性)
安卓线性布局(属性) 安卓六大布局: AbsoluteLayout 绝对布局(已过期,不建议使用) RelativeLayout 相对布局 LinearLayout 线性布局 Fr ...
- Android:线性布局介绍,线性布局weight属性,线性布局微调参数gravity,线性布局divider
LinearLayout:线性布局 一.线性布局介绍 新建一个工程 然后我们默认的布局,是相对布局, 相对布局的意思是我的控件可以在里面随意放置 那如果把这个RelativeLayout 改了呢? ...
- Android Studio:线性布局
目录 一.导入新课 二.新课讲解 (一)界面与布局 1.界面 2.布局 (1)视图层次结构图 (3)UI控件 (Control) (4)两种方式声明布局 (二)线性布局 1.继承关系图 2.常用属性 ...
- android studio线性布局做计算器,Android Studio线性布局元素Listen
我对android studio相当陌生,有点迷茫. 我有一个线性布局,最终会有图像的子代.这些孩子被认为是我手中的牌.当轮到我的时候,我会在线性布局中添加一个项目,当我点击一个卡片时,它将被移除. ...
- Android studio线性布局用户界面设计
Android studio通过线性布局完成一个简单的个人信息的用户界面布局设计 线性布局需要考虑的就是水平还是垂直,通过 LinearLayout标签的一个必要属性android:orientati ...
- android studio线性布局做计算器,Android studio设计简易计算器
本文实例为大家分享了Android studio设计简易计算器的具体代码,供大家参考,具体内容如下 效果显示: 第一步,简单的界面布局 xmlns:tools="http://schemas ...
- Android studio 线性布局
文章目录 线性布局 1.继承关系图 2.常用属性 线性布局属性 1.创建安卓应用 2.主布局资源文件 3.字符串资源文件 4.启动应用,查看效果 5.设置布局属性,查看效果 (1)设置线性布局方向 ( ...
最新文章
- JavaScript 数组排序及查找数组中最大值最小值方法
- jquery选择器 之 获取父级元素、同级元素、子元素
- 仿qq邮箱源码程序_巧用小程序·云开发实现邮件发送功能丨实战
- 简述网卡的作用和工作原理_凯狄简述抽芯铆钉的作用原理
- python简单项目-4个Python经典项目实战,练手必备哦!
- 牛人主页(主页有很多论文代码)【真的好强大】
- 18 PP配置-生产计划-检查 MRP 元素的文本
- 1203.2——条件语句 之 switch语句
- 表单和ajax中的post请求后台获取数据方法(深度好文)
- 学python需要什么基础-学Python需要什么基础知识?零基础可以学Python吗?
- 九宫怎么排列和使用_开心数独:好友都在玩的数独九宫格小游戏,居家无聊杀时间必备!...
- 普通话测试-短文60篇文章,附带拼音(41-50篇)
- 快递查询网站php源码,全国快递查询PHP源码单号自动识别支持国内上百家快递
- 【附源码】计算机毕业设计java学生网上请假系统设计与实现
- 3D Max动画制作
- Win10文件夹莫名其妙闪退
- Zerg虫族的传说[官方资料]
- 得了胆囊息肉对人体的危害大不大?
- edusrc教育src漏洞平台
- 计算机组成原理微控制设计实验总结,计算机组成原理微程序控制器实验报告.doc...
热门文章
- 数据库SQL执行计划
- dbf转成excel_DBF Converter将DBF文件转换成Excel表格教程
- en55032最新标准下载_欧盟多媒体设备CE认证将使用新标准EN55032
- cocos2d-x2.2.5走四棋儿源代码“开源”
- x230 linux驱动程序,佳能 ThinkPad X230 Tablet 驱动程序下载-更新佳能软件(平板电脑)...
- PHP解析抖音无水印视频播放地址原理
- nvme分区选mbr还是guid_[Win] 最强大的磁盘分区工具 DiskGenius v5.1.1 中文专业破解版...
- LaTeX论文模板(附源码)
- u盘镜像制作linux系统,制作iso镜像U盘自动化安装linux系统
- 求三点外接圆圆心公式