Android 4.3中的视觉边界布局(Optical bounds layout)
2014-04-07 18:12
561 查看
Optical bounds layout(视觉/光学边界布局)是在4.3(Api level 18)中引入的一种新的布局对齐方式。之前是使用控件边界来布局的。可以在“设置” 中的 “开发者选项” 中的 “显示布局边界” 功能来查看界面的每个空间的编辑。
下面两个图是使用控件边界布局和视觉编辑布局的对比:
![](http://yunzaiqianfeng.b0.upaiyun.com/android/clipbounds-normal@2x.png)
使用控件编辑布局(默认)
![](http://yunzaiqianfeng.b0.upaiyun.com/android/opticalbounds-normal@2x.png)
使用视觉边界布局
下面两个图是显示了每个控件边界的图(蓝色 为控件的边界;粉红色为视觉边界):
![](http://yunzaiqianfeng.b0.upaiyun.com/android/clickbound.jpg)
控件的边界
注意:该图上面的粉红色外框,是由于使用了带有阴影的.9图导致的。
![](http://yunzaiqianfeng.b0.upaiyun.com/android/opticalbound.jpg)
视觉编辑布局示意图
可以看到,对于那些有透明空白边的控件来说,使用视觉边界布局在显示效果上更加整齐。 不然的话,要保证每个控件的空白透明边都是一样的才能保证内容对齐。
由于引入了视觉边界布局,所以为了消除半透明阴影对布局的影响,特别是常用作背景图的.9图片。 下面是一个引入了视觉边界区域的.9图:
![](http://yunzaiqianfeng.b0.upaiyun.com/android/ninepatch_opticalbounds@2x.png)
带有视觉边界标示的.9图
注意上图和普通的.9图多了 4条红线。右边上下两条;下面左右两条。
这4条红线分别用来指示透明边界区域的,也就是当使用视觉边界布局的时候,把红色线标记的区域当做透明区域对待。从非红色标记的区域当做视觉边界区域来布局控件。
这样,就能保证 上面的文本边界和下面的按钮背景边界对齐了。 如上图所示。
Read more: http://blog.chengyunfeng.com/?p=512#ixzz2yC648Mpb
下面两个图是使用控件边界布局和视觉编辑布局的对比:
![](http://yunzaiqianfeng.b0.upaiyun.com/android/clipbounds-normal@2x.png)
使用控件编辑布局(默认)
![](http://yunzaiqianfeng.b0.upaiyun.com/android/opticalbounds-normal@2x.png)
使用视觉边界布局
下面两个图是显示了每个控件边界的图(蓝色 为控件的边界;粉红色为视觉边界):
![](http://yunzaiqianfeng.b0.upaiyun.com/android/clickbound.jpg)
控件的边界
注意:该图上面的粉红色外框,是由于使用了带有阴影的.9图导致的。
![](http://yunzaiqianfeng.b0.upaiyun.com/android/opticalbound.jpg)
视觉编辑布局示意图
可以看到,对于那些有透明空白边的控件来说,使用视觉边界布局在显示效果上更加整齐。 不然的话,要保证每个控件的空白透明边都是一样的才能保证内容对齐。
由于引入了视觉边界布局,所以为了消除半透明阴影对布局的影响,特别是常用作背景图的.9图片。 下面是一个引入了视觉边界区域的.9图:
![](http://yunzaiqianfeng.b0.upaiyun.com/android/ninepatch_opticalbounds@2x.png)
带有视觉边界标示的.9图
注意上图和普通的.9图多了 4条红线。右边上下两条;下面左右两条。
这4条红线分别用来指示透明边界区域的,也就是当使用视觉边界布局的时候,把红色线标记的区域当做透明区域对待。从非红色标记的区域当做视觉边界区域来布局控件。
这样,就能保证 上面的文本边界和下面的按钮背景边界对齐了。 如上图所示。
Read more: http://blog.chengyunfeng.com/?p=512#ixzz2yC648Mpb
相关文章推荐
- Android 锁屏探究
- Android 开发中使用的颜色可以分为两种,自定义颜色和系统颜色
- Android APK反编译详解(附图)
- Android Canvas练习(2)自已绘饼图(Pie Chart)
- Android开发中如何设置不显示标题和设置全屏
- surface在android4.2跟4.4系统中本地service里使用上的差异
- Android开发中如何设置不显示标题和设置全屏
- Android NDK 之 NDK 预生库支持
- Android使用Activity用作弹出式对话框
- Android使用Activity用作弹出式对话框
- Android使用Activity用作弹出式对话框
- Android源码事件传递流程剖析
- Android JNI知识简介
- Android fill_parent、wrap_content和match_parent的区别
- Android 怎么设计圆角Button
- Android中的消息推送
- Android 消息推送简单实例
- Android之Service
- Android消息推送
- android-Service和Thread的区别