Andriod布局
布局【ViewGroup】
在Android中支持的描述大小区域的类型有以下几种。px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们为了支持WCGA、HVGA和QVGA推荐使用这个,不依赖于像素。等同于dp。sp(scaled pixels—best for text size)——带比例的像素。pt(points)——磅:1pt = 1/72英寸in(inches)——英寸mm(millimeters)——毫米
layout_xxxx和xxxx的区别:layout_xxxx相对父亲,xxxx为自己的孩子或者自己
颜色分为:3位【rgb】、6位【更多颜色】、8位【前两位为透明度,后6位为更多颜色】
- 每个View必须指定宽高,layout_width、layout_height
- 宽高控制对象为:android.view.ViewGroup.LayoutParams
- 宽高具备父宽和父高即,父容器有多高宽,自己就有多高宽。值为:fill_parent
match_parent - 高宽具备覆盖原则,上面的会覆盖下面的。
- 除了高宽还有附加了一个权重layout_weight,单位为小数或者整数
- 权重layout_weight计算方案为所有相加然后除自己,就是自己的比例
- 控制对象为:android.view.ViewGroup.LayoutParams
- 如果按照比例设置方案,那么高或者宽需要调整为wrap_content
- 例如:三个线布局,1线20%,2线60%,3线20%

一线80dp,二线自动增长,三线80dp
android:layout_margin=""写在子容器里面,控制自己与父容器的边距
- 线形布局【android.widget.LinearLayout】
- 横排列android:orientation="horizontal"
- 竖排列android:orientation="vertical"
- 帧布局【android.widget.FrameLayout】
- 从屏幕左上角开始,分层次,下面为最上层
- 子View可以使用android:layout_gravity来控制方位,
- 相对布局【android.widget.RelativeLayout】
- 大多数情况都是子View使用属性对位
- android:layout_centerInParent="true"相对父亲垂直水平居中
- android:layout_centerHorizontal="true"相对父亲水平居中
- android:layout_centerVertical="true"相对父亲垂直居中
- android:layout_above="@+id/b1"相对b1上方
- android:layout_below="@+id/b1"相对b1下方
- android:layout_toLeftOf="@+id/b1"相对b1左方
- android:layout_toRightOf="@+id/b1"相对b1右方
- android:layout_alignLeft="@+id/b1"相对b1左方对齐
- android:layout_alignTop="@+id/b1"相对b1上方对齐
- android:layout_alignRight="@+id/b1"相对b1右方对齐
- android:layout_alignBottom="@+id/b1"相对b1下方对齐
- android:layout_alignParentLeft="true"相对父亲左方对齐
- android:layout_alignParentRight="true"相对父亲右方对齐
- android:layout_alignParentTop="true"相对父亲垂上方对齐
- android:layout_alignParentBottom="true"相对父亲下方对齐
- 相对布局最好采取链表的感觉,一个一个的相对下去具有连续性。
- 例如

- b1相对父容器,b2相对b1,b3相对b2,b4相对b3
- 表格布局【android.widget.TableLayout】
- android:collapseColumns="0,1,2"隐藏1,2,3列
- android:shrinkColumns="0,1,2" 收缩1,2,3列
- android:stretchColumns="0,1,2"扩展1,2,3列
- 网格布局【android.widget.GridLayout】
- 父容器属性
- android:rowCount="3"总行数
- android:columnCount="4"总列数
- 子View的属性
- android:layout_gravity="fill"单元格对齐方式以及填充方式
- android:layout_columnSpan="2"列合并2个
- android:layout_rowSpan="2"行合并2个
- android:layout_column="2"指定第二列
- android:layout_row="2"指定第二行
- GridLayout的不提供支持空间(weight)分配的原则,空间分配界定。在一般情况下,可以配置一个GridLayout多余的空间分布在多个行或列之间的不相同的比例。
- Android4.0才支持GridLayout布局,如果需要以前的版本也支持,需要使用android-support-v7扩展包
- 父容器属性
- 绝对布局【android.widget.AbsoluteLayout】
- android:layout_x="198dp"坐标x轴
- android:layout_y="162dp"坐标y轴
Andriod布局的更多相关文章
- Andriod布局之LinearLayout
LinearLayout是安卓中的常见布局,即线性布局.(提示:在Andriod中要常用alt+/快捷键来补全代码 其中有一个重要的属性android:orientation,它是表示线性布局的方向问 ...
- 1.[WP Developer体验Andriod开发]之Andriod布局 VS WinPhone布局
0.写在前面的话 近来被HTML+CSS的布局折腾的死去活来,眼巴巴的看着CSS3中的flex,grid等更便捷更高效的的布局方式无法在项目中应用,心里那叫一个窝火啊,去你妹的兼容性,,, 最近体验下 ...
- 1.[Andriod]之Andriod布局 VS WinPhone布局
0.写在前面的话 近来被HTML+CSS的布局折腾的死去活来,眼巴巴的看着CSS3中的flex,grid等更便捷更高效的的布局方式无法在项目中应用,心里那叫一个窝火啊,去你妹的兼容性,,, 最近体验下 ...
- Andriod中textview垂直水平居中及LinearLayout内组件的垂直布局
1.textview 垂直水平居中的设置 Android:gravity="center_vertical|center" 2.LinearLayout中设置控件垂直布局,默认的是 ...
- Andriod 四大组件,六大布局
一.四大组件 Android四大组件分别为activity.service.content provider.broadcast receiver. 一.android四大组件详解 1.activit ...
- Andriod 自定义控件之创建可以复用的组合控件
前面已学习了一种自定义控件的实现,是Andriod 自定义控件之音频条,还没学习的同学可以学习下,学习了的同学也要去温习下,一定要自己完全的掌握了,再继续学习,贪多嚼不烂可不是好的学习方法,我们争取学 ...
- Android一些关于分辨率和布局的设置
1.Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢? drawable- hdpi.drawable- mdpi.dra ...
- Android软键盘弹出时把布局顶上去的解决方法
原文: 解决Andriod软键盘出现把原来的布局给顶上去的方法(转) 链接:http://blog.sina.com.cn/s/blog_9564cb6e0101g2eb.html 决方法,在main ...
- Android布局大全
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面. 所有的布局方式都可以归类为ViewGroup的 ...
随机推荐
- Git-Git分支
代码管理之殇 分支是代码管理的利器.如果没有有效的分支管理,代码管理就适应不了复杂的开发过程和项目的需要.在实际的项目实践中,单一分支的单线开发模式还远远不够,因为: 成功的软件项目大多要经过多个开发 ...
- 16.2,docker网络
Docker 允许通过外部访问容器或容器互联的方式来提供网络服务. 端口映射允许外部访问容器 --link 容器互联 容器桥接网络 .通过--link容器通信,给test2添加一个hosts解析记 ...
- 微信小程序 | 49,小程序入门集锦系列文章20篇
以下20篇文章,都是关于微信小程序的文章,以入门常见问题为主.如发现谬误,请与笔者联系. [小程序入门集锦]1,微信小程序在哪里打开 [小程序入门集锦]2,小程序商店 [小程序入门集锦]3,微信小程序 ...
- 剑指Offer - 九度1348 - 数组中的逆序对
剑指Offer - 九度1348 - 数组中的逆序对2014-01-30 23:19 题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个 ...
- wget下载https文件,服务器可以虚拟机中不行的问题
用wget下载一个图片资源(https协议),在服务器上可以,但在本机的虚拟机中卡在下面这里了: [root@localhost ~]# wget 'https://gp1.wac.edgecastc ...
- 【Binary Search Tree Iterator 】cpp
题目: Implement an iterator over a binary search tree (BST). Your iterator will be initialized with th ...
- shell之echo and printf
#!/bin/sh _________echo___________#read name #echo "$name It is a test" #read命令从标准的输入中读取一行 ...
- python3知识点之---------字符串的介绍
1. 定义 其实字符串就是一系列字符,用引号括起来的就是字符串,其中的引号可以是单引号或者双引号. 比如 "This is a string" 'This is a strin ...
- Python之日志处理 logging模块
Python之日志处理(logging模块) 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四 ...
- jQuery遍历 filter()方法
实例 改变所有 div 的颜色,然后向类名为 "middle" 的类添加边框: $("div").css("background", &qu ...