安卓中layout_weight的使用
2015-10-22 20:34
253 查看
整理一下今天看到的layout_weight的使用:
第一个效果:
只有一个控件的时候,想要在控件中居中显示 :
父容器中:android:weightSum="2"
子控件:android:layout_weight="1"
两个属性声明之后,这样控件就能在父控件中居中显示了
----------------------------------------------------------------
普通的layout_weight使用:子控件声明0dp 然后按照weight进行分配
这样父控件就按照weight进行分配了 分别为1/6 , 2/6 , 3/6
--------------------------------------------------------------------
如果我们第一个TextView的layout_width声明为wrap_content的话 ,父控件会默认减去wrap_content占用的宽度 ,然后将剩下的宽度进行分配
在分配的时候,父控件会减去wrap_content占用的宽度,然后将剩下的宽度进行分配
--------------------------------------------------------------------------------------------------------------
如果同样的情况,第一个TextView的Layout_width改成0dp 会发生的效果是,第一个TextView的效果如图
居然没有对齐,----- 其实是对齐了 ,,因为子控件会根据父控件的基线去对齐, 在父控件中声明baseLineAligned = "false"即可
-------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
再如果我们把所有textView的宽度设为match_parent的时候会出现下面的情况
为什么第三个不见了,因为weight在计算的时候会先减去控件声明所占用的宽度,然后将剩余的宽度进行分配
假设屏幕宽度为480 那么 第一个TextView的宽度 480 第二个480 第三个 480
我们的weight会用屏幕宽度减去三个TextView的宽度
480 - 480*3 = -960 没错.是负的,
然后将这宽度进行分配,
第一个TextView占用的宽度:
480 -480*2 * 1/6
第二个
480 - 480*2 * 2/6
第三个
480 - 480*2* 3/6
第一个效果:
只有一个控件的时候,想要在控件中居中显示 :
父容器中:android:weightSum="2"
子控件:android:layout_weight="1"
两个属性声明之后,这样控件就能在父控件中居中显示了
----------------------------------------------------------------
普通的layout_weight使用:子控件声明0dp 然后按照weight进行分配
这样父控件就按照weight进行分配了 分别为1/6 , 2/6 , 3/6
--------------------------------------------------------------------
如果我们第一个TextView的layout_width声明为wrap_content的话 ,父控件会默认减去wrap_content占用的宽度 ,然后将剩下的宽度进行分配
在分配的时候,父控件会减去wrap_content占用的宽度,然后将剩下的宽度进行分配
--------------------------------------------------------------------------------------------------------------
如果同样的情况,第一个TextView的Layout_width改成0dp 会发生的效果是,第一个TextView的效果如图
居然没有对齐,----- 其实是对齐了 ,,因为子控件会根据父控件的基线去对齐, 在父控件中声明baseLineAligned = "false"即可
-------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
再如果我们把所有textView的宽度设为match_parent的时候会出现下面的情况
为什么第三个不见了,因为weight在计算的时候会先减去控件声明所占用的宽度,然后将剩余的宽度进行分配
假设屏幕宽度为480 那么 第一个TextView的宽度 480 第二个480 第三个 480
我们的weight会用屏幕宽度减去三个TextView的宽度
480 - 480*3 = -960 没错.是负的,
然后将这宽度进行分配,
第一个TextView占用的宽度:
480 -480*2 * 1/6
第二个
480 - 480*2 * 2/6
第三个
480 - 480*2* 3/6
相关文章推荐
- 字符串的包含
- 简历二
- IntelliJ IDEA及 tomcat 关于项目本地部署和远程部署的相关讨论
- 2015书单
- hihoCoder 1195 高斯消元.一
- HDU1385 (Floyd记录路径)
- Java-session过期后,拦截器拦截后页面跳不出iframe框架问题
- Promise的前世今生和妙用技巧
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- android底层开发-android基础架构
- UVA_10566_CrossedLadders
- 今日开启博客园个人博客之旅
- NSMutableAttributedString(改变文字颜色)
- 迁移虚拟机
- Swift高级开发语言--函数
- 一,开篇,一个完整的LibGDX小游戏
- Mysql中存在索引但是不能使用索引的典型情况
- c/c++ for matlab (mexFunction)
- mysql in 排序 也可以按in里面的顺序来排序
- 第四次个人作业-关于微软必应词典客户端 的案例分析