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的 ...
随机推荐
- UIView控件 概况
一.UIKit结构图 ------------------------------------------------------------------------------- @interfac ...
- HDU 5446 Unknown Treasure (卢卡斯+CRT
代码: #include"bits/stdc++.h" #define db double #define ll long long #define vec vector<l ...
- 全方位认识HDMI接口技术
HDMI接口并不是一个开放的标准.制造商必须向HDMI标准制定协会支付版税,来换取一个生产许可证.不过这个版税可不便宜,每年要交纳15000美元的许可费,并且更黑的是每生产一个HDMI接口就要支付0. ...
- DOM事件里封装方法eventUtil
var eventUtil={ //添加句柄 addHandler:function (element,type,handler) { //element相当于btn2,type此时用的是click类 ...
- wget 下载页面下所有文件
先介绍几个参数:-c 断点续传(备注:使用断点续传要求服务器支持断点续传),-r 递归下载(目录下的所有文件,包括子目录),-np 递归下载不搜索上层目录,-k 把绝对链接转为相对链接,这样下载之后的 ...
- 《Cracking the Coding Interview》——第13章:C和C++——题目2
2014-04-25 19:29 题目:对比一下哈希表和STL中的map的区别,哈希表如何实现?如果数据规模比较小,可以用什么来代替哈希表? 解法:哈希表可以理解为一堆桶,每个桶都有唯一的id,桶里可 ...
- Makefile编写记录
近期学习 Linux 需要使用 Makefile,网上搜罗了很多这方面的资料,所里在这里做一个整理. 1.静态模式 看一个例子: objects = foo.o bar.o all: $(object ...
- Android记事本08
昨天: Anr问题异常的原因和解决方案. 今天: Activity数据传递之通用方式. Activity数据传递之静态变量. Activity数据传递之全局变量. 遇到的问题: 无.
- 软工实践Beta冲刺前装备
过去存在的问题 组员之间缺乏沟通,前后端缺乏沟通协作 组员积极性不高 基础知识不够扎实 手动整合代码效率过低 我们已经做了哪些调整/改进 通过会议加强组员之间的交流 组长请喝了奶茶提高大家积极性 努力 ...
- stuff使用感悟
select ),t2.CityId) from t t2 where not exists( from Web_UserCity uc where UserName='user001' and uc ...