Android UI的一些常见属性总结注意点
2016-07-22 14:24
405 查看
在Android UI开发中,静态UI布局应该是最简单的,并不复杂,但是对于入门不久没有怎么总结的新手来说,有时候会有一些模糊的概念,接下来我就总结一下自己在学习中遇到的。
1.Layout_weight用法:对于常见的Layout_weight=1,或者Layout_weight=2,这个大家很清楚,但是请注意要在对应的水平或者垂直方向上的长度值应该为wrap_content,对于有些控件直接设置像素大小,首先根据Android布局原则,计算出宽度=原来宽度+剩余宽度*所占百分比。先按照没有给weight属性的分配,最后剩余的按照weight来分配。对于某一方向长度值为0的处理,官方上给了这样的解释:当使用view的layout_weight属性时,可以将layout_width设置为0,原因是这样可以让系统减少一次长度或宽度的计算。
官方解释如下:
In order to improve the layout efficiency when you specify the weight, you should change the width of theEditText to be zero (0dp). Setting the width to zero improves layout performance because using”wrap_content” as the width requires the system to calculate a width that is ultimately irrelevant because the weight value requires another width calculation to fill the remaining space.
翻译如下:当你指定了控件的权重时,为了提高布局效率,你应该将空间的宽度设置为0dp,如果设置成wrap_content,系统需要重新计算,但是当控件有权重属性时则要求宽度需适应剩余的控件,所以不需要宽度值,直接初始化为0。
但是这个属性也不需要掌握的太复杂,会用一般方法就可以,如果想了解的更深,后面可以看view源码中布局是怎样设计的。
2.Layout_gravity与gravity的用法和区别
Layout_gravity :是指本身在子控件中的对齐方式
gravity:是指子控件的对齐方式
凡是有Layout均指相对于子控件而言的。
还有一些比较容易混淆的概念,目前没有遇到,后需补充追加。
1.Layout_weight用法:对于常见的Layout_weight=1,或者Layout_weight=2,这个大家很清楚,但是请注意要在对应的水平或者垂直方向上的长度值应该为wrap_content,对于有些控件直接设置像素大小,首先根据Android布局原则,计算出宽度=原来宽度+剩余宽度*所占百分比。先按照没有给weight属性的分配,最后剩余的按照weight来分配。对于某一方向长度值为0的处理,官方上给了这样的解释:当使用view的layout_weight属性时,可以将layout_width设置为0,原因是这样可以让系统减少一次长度或宽度的计算。
官方解释如下:
In order to improve the layout efficiency when you specify the weight, you should change the width of theEditText to be zero (0dp). Setting the width to zero improves layout performance because using”wrap_content” as the width requires the system to calculate a width that is ultimately irrelevant because the weight value requires another width calculation to fill the remaining space.
翻译如下:当你指定了控件的权重时,为了提高布局效率,你应该将空间的宽度设置为0dp,如果设置成wrap_content,系统需要重新计算,但是当控件有权重属性时则要求宽度需适应剩余的控件,所以不需要宽度值,直接初始化为0。
但是这个属性也不需要掌握的太复杂,会用一般方法就可以,如果想了解的更深,后面可以看view源码中布局是怎样设计的。
2.Layout_gravity与gravity的用法和区别
Layout_gravity :是指本身在子控件中的对齐方式
gravity:是指子控件的对齐方式
凡是有Layout均指相对于子控件而言的。
还有一些比较容易混淆的概念,目前没有遇到,后需补充追加。
相关文章推荐
- Android UI的一些常见属性总结注意点
- EasyUI为combobox下拉框后扩展操作按钮
- Android酷炫实用的开源框架(UI框架)
- 简单处理UICollectionview的淡出效果
- Failed to read auto-increment value from storage engine 诡异的mysql自增无效问题
- UICollectionView 横向滑动停止的两种效果。
- 数据库管理工具——SQuirreL SQL Client使用入门
- 解决UINavigationController在pushViewController时出现的"卡顿"问题
- opencv鼠标操作及GUI矩形绘画
- ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- poj2823 单调队列以及双端队列(deque)
- 初学IOS_UI基础_多组table_封装版本_有GIF图_有源文件
- 初学IOS_UI基础,滑动面板_自动翻页封装版_有GIF图_有源文件
- Java ProcessBuilder.redirectErrorStream()方法
- 5. Gradle sync failed: Timeout waiting to lock cp_proj class cache for build
- 采用pymouse编写的GUI自动测试工具 注意事项(一)
- 采用pymouse编写的GUI自动测试工具 源码(二)
- Android中的Handler, Looper, MessageQueue和Thread
- FruitLoadView 一个自定义view可用来做加载view
- JAVA生成短8位UUID(未测试)