屏幕适配经验总结
2015-02-13 17:41
211 查看
一、细说layout_weight
于是就有了现在最为流行的0px设值法。看似让人难以理解的layout_height=0px的写法,结合layout_weight,却可以使控件成正比例显示,轻松解决了当前Android开发最为头疼的碎片化问题之一。
先看下面的styles(style_layout.xml)
注意 针对上面的适配方法就是 我们借助线性布局来实现
从而实现我们的在不同屏幕分辨率上实现 自适应 适配
三、在java代码中设置宽高度
也许很多人会反对这种方法,因为即使是官方也是推荐使用xml的方式写布局。不过我们在这不会像Swing那样写那么多麻烦的布局代码,因为我们只是在代码中重新设定控件的宽高度而已,其他属性依然是交给xml布局文件的。这个方法其实是我跟同事偷学来的,虽然我不赞成这样的方法,但他确确实实也是解决屏幕自适应问题的方案之一,而且它没我想象的那么复杂,其实很简单。
首先我们要做的是获取当前屏幕的宽高度,因为这个在后面要用到
我们可以写两个静态变量用来保存当前屏幕的宽高度:
四:
通过多层嵌套LinearLayout和组合使用"wrap_content"和"match_parent"已经可以构建出足够复杂的布局。但是LinearLayout无法允许你准确地控制子视图之前的位置关系,所有LinearLayout中的子视图只能简单的一个挨着一个地排列。如果你需要让子视图能够有更多的排列方式,而不是简单地排成一行或一列,使用RelativeLayout将会是更好的解决方案。RelativeLayout允许布局的子控件之间使用相对定位的方式控制控件的位置,比如你可以让一个子视图居屏幕左侧对齐,让另一个子视图居屏幕右侧对齐。
所以 我们在写布局的时候 不仅仅使用relativelayout实现我们的自适应 同时还可以借助我们relativelayout实现我们的组件的正确摆放。
还有就是 我们使用.9图片实现。
于是就有了现在最为流行的0px设值法。看似让人难以理解的layout_height=0px的写法,结合layout_weight,却可以使控件成正比例显示,轻松解决了当前Android开发最为头疼的碎片化问题之一。
先看下面的styles(style_layout.xml)
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- 全屏幕拉伸--> <style name="layout_full"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">fill_parent</item> </style> <!-- 固定自身大小--> <style name="layout_wrap"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> </style> <!-- 横向分布--> <style name="layout_horizontal" parent="layout_full"> <item name="android:layout_width">0px</item> </style> <!-- 纵向分布--> <style name="layout_vertical" parent="layout_full"> <item name="android:layout_height">0px</item> </style> </resources>
注意 针对上面的适配方法就是 我们借助线性布局来实现
从而实现我们的在不同屏幕分辨率上实现 自适应 适配
三、在java代码中设置宽高度
也许很多人会反对这种方法,因为即使是官方也是推荐使用xml的方式写布局。不过我们在这不会像Swing那样写那么多麻烦的布局代码,因为我们只是在代码中重新设定控件的宽高度而已,其他属性依然是交给xml布局文件的。这个方法其实是我跟同事偷学来的,虽然我不赞成这样的方法,但他确确实实也是解决屏幕自适应问题的方案之一,而且它没我想象的那么复杂,其实很简单。
首先我们要做的是获取当前屏幕的宽高度,因为这个在后面要用到
我们可以写两个静态变量用来保存当前屏幕的宽高度:
四:
使用RelativeLayout
通过多层嵌套LinearLayout和组合使用"wrap_content"和"match_parent"已经可以构建出足够复杂的布局。但是LinearLayout无法允许你准确地控制子视图之前的位置关系,所有LinearLayout中的子视图只能简单的一个挨着一个地排列。如果你需要让子视图能够有更多的排列方式,而不是简单地排成一行或一列,使用RelativeLayout将会是更好的解决方案。RelativeLayout允许布局的子控件之间使用相对定位的方式控制控件的位置,比如你可以让一个子视图居屏幕左侧对齐,让另一个子视图居屏幕右侧对齐。所以 我们在写布局的时候 不仅仅使用relativelayout实现我们的自适应 同时还可以借助我们relativelayout实现我们的组件的正确摆放。
还有就是 我们使用.9图片实现。
相关文章推荐
- Android_关于屏幕适配经验总结
- Android屏幕适配(个人的一点点总结及经验)
- 屏幕适配经验总结
- Android屏幕与代码适配方案经验总结。
- 经验总结-Android手机屏幕适配问题
- android屏幕适配全面总结
- IOS Orientation, 想怎么转就怎么转~~~ 此博文主要针对IOS应用, 是屏幕旋转相关问题的一个总结. 主要内容有: IOS5,6,7不同版的适配. 强制旋转和自动旋转.
- Cocos2d-x——Cocos2d-x 屏幕适配总结
- Android-关于屏幕适配的一些经验
- Android-屏幕适配需要注意的地方总结
- android下在屏幕适配小总结
- Android屏幕适配总结
- 关于屏幕适配的一些经验
- Android屏幕适配经验谈(转载)
- Android屏幕适配总结
- Android Multiple Screens Android 屏幕适配的一些总结
- Android-关于屏幕适配的一些经验
- Android-屏幕适配需要注意的地方总结
- Windows phone 8 屏幕适配总结
- 播放器适配经验总结――IOS