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的 ...
随机推荐
- linxu信号种类
使用kill -l 命令,可看到linux支持的信号列表: 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGB ...
- 笔记-scrapy-去重
笔记-scrapy-去重 1. scrapy 去重 scrapy 版本:1.5.0 第一步是要找到去重的代码,scrapy在请求入列前去重,具体源码在scheduler.py: def en ...
- 1 web应用
web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端/服 ...
- linux 检测进程是否存在
1. 直接遍历/proc目录 int find_pid_by_name( char* pidname, pid_t *pidlist) { #define READ_BUF_SIZE 256 DIR ...
- 什么是App加壳,以及App加壳的利与弊
非著名程序员涩郎 非著名程序员,字耿左直右,号涩郎,爱搞机,爱编程,是爬行在移动互联网中的一名码匠!个人微信号:loonggg,微博:涩郎,专注于移动互联网的开发和研究,本号致力于分享IT技术和程序猿 ...
- DOS程序员手册(十一)
560页 版本5中新增加的子功能05h支持程序截获MS-DOS EXEC调用,并实 现自我装载.该子功能能实现内存的修补,如设置装载程序能接收的版本号 (通过SETVER设置的版本号)以及实现对装载程 ...
- php导出数据为CSV文件DEMO
代码示例: private function _download_send_headers($filename) { // disable caching $now = gmdate("D, ...
- Python 3基础教程14-在文件尾部更新内容
本文介绍在一个已经存在的文件尾部添加内容,还是用到write方法. 这里exampleFile.txt是前面文件创建的文件,里面有两行文字.
- 【转载】Unity3D研究院之IOS触摸屏手势控制镜头旋转与缩放
前几篇文章介绍了很多Unity3D引擎自身的一些问题, 今天我们在回到IOS设备上讨论一些触摸屏幕手势,本章的目标是通过触摸iPhone屏幕手势 实现模型左右的旋转,与模型的缩放. 大家想一想模型的旋 ...
- Android 图片文字单位 px、dp、sp区别
文章来源:http://www.cnblogs.com/bjzhanghao/archive/2012/11/06/2757300.html px:像素,一个像素点,1px代表屏幕上一个物理的像素点: ...