本文主要是介绍getWindow().setBackgroundDrawable(null);对UI优化的测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天工作不多,就测试了下 getWindow().setBackgroundDrawable(null);对UI优化的测试
OK首先我们用手机开发者模式自带的 OverDraw来判断布局的OverDraw状况,
随便写了一个默认布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
><!--单纯就是个继承RelativeLayout的子类-->
<com.xxx.widget.CustomRelativeLayout android:layout_width="300dp" android:layout_height="400dp" android:background="#fff"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="按钮"/> </com.xxx.widget.CustomRelativeLayout></RelativeLayout>
显示如上,我们可以看到 即使是根布局RelativeLayout也是有蓝色的,当然, 蓝色是可以接受的,但是button就彻底的飘红了,啥情况,有优化的余地么
当然有,
我们在onCreate的 setContentView 后加上这行代码
setContentView(R.layout.activity_test); getWindow().setBackgroundDrawable(null);
ps:window的默认毕竟色是白色,如果没了那就要在xml根布局自己把背景色白色加上,要不会有问题
我们可以看到, 这次根布局没有颜色了,蓝色移到了里面的RelativeLayout,,Button变成了绿色是我们想要的结果, 这样就避免了多一层overdraw了
这篇关于getWindow().setBackgroundDrawable(null);对UI优化的测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!