UI使用及其优化
在Android开发推荐一文中代码撰写注意点的xml布局提到的xml布局的一些注意事项,今天将围绕展开说一下UI使用及其优化
避免黄色警告,过时方法不要用
xml布局中的黄色警告主要分为三类:方法过时;属性相关设置需提取;属性设置得全面(自己总结得,明白意思就行了)
方法过时(过时方法会有横线穿过)
单行显示
12345原先android:singleLine="true"现在android:maxLines="1"
过时方法如下
|
|
- 属性相关设置需提取
|
|
- 属性设置得全面
|
|
由此可以想到layout_marginRight、paddingLeft、paddingRight等
include的使用
include的体现最佳的地方就是actionbar的复用这块了,大部分app都会用到这个,其他模块的复用也要用这个,下面简单的举例
actionbar.xml
其他xml中使用
|
|
说到include,就应该来说说merge,merge标签主要是用来优化显示的,减少View树的层级
merge的使用
|
|
viewstub的使用
ViewStub是View的子类,它不可见,大小为0,用来延迟加载布局资源
xml
java代码中
|
|
避免布局嵌套过深;简单布局linearlayout,复杂布局relativelayout;有些效果多考虑自定义view是否能实现,别用view叠加实现
下面展示一个一样的效果的UI展示,不同写法,布局嵌套不一样,举例的是很简单的,再想想实际项目中,展示的效果负责的时候多去考虑考虑布局的嵌套,布局的优化有时候比代码的优化强很多哦
错误举例
|
|
正确做法
|
|
style的使用,减少代码量
styles.xml
xml中的使用
weight的合理使用
就是能用其他属性能达到的效果千万别用这个
margain和padding合理比较进行选择使用
相同效果,设置padding的触摸区域大一些,UE更好一些
最新的布局方式ConstaintLayout的使用
ConstaintLayout这个布局已经出来很久了,一直不火,使用上还是感觉有点繁琐,有兴趣的可以去参考Android新特性介绍,ConstraintLayout完全解析
以上仅是自己的一些见解,如果有好的欢迎留言,UI优化还是很需要的,实际项目中会比较繁琐,使用控件时多考虑考虑