Android layer-list 奇妙之处

这个是在工作中测试提出的一个bug,但是不是给我的,但是我看到了,感觉没事做,就动手尝试去修改。没想到这个一个简单的问题,哎,自己没有办法。后来这个被我的同事搞定了,发现使用的就是layer-list 给解决掉了,但是我当时就没有想到。特写此文记录之。

先看一个效果。

图片名称

可以看到在键盘弹出的一瞬间有一个蓝色背景,这个颜色是跟上面状态栏的颜色是一样的。进入代码查看,结果这两个颜色是由同一个文件里面的同一个layout引起的。代码如下:

图片名称

顺便说下,状态栏的颜色这里是这样子设置的:
1、在Activity的根布局里设置背景颜色(状态要显示的颜色),然后在上android:fitsSystemWindows="true"
2、再在这个Activity或者Application的主题添加<item name="android:windowTranslucentStatus">true</item>
这个方法在4.4以上的手机都是有效果的。

好了,继续。然后我这个时候我就想着改变根布局的颜色,但是改完之后,状态栏的颜色也就改变了。然后我就没辙了。问了我旁边的同事,他说这个是主题的颜色,没办法修改了。没想到的是另外的一个同事把它搞定了。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/ll_activity_base"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:background="@drawable/bg_theme"
              android:layout_height="match_parent"
              android:fitsSystemWindows="true">
    <com.yy.a.widget.CommonTitle
        android:id="@+id/commonTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/common_title"/>
    <FrameLayout
        android:id="@+id/content_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#f5f9fc"/>
</LinearLayout>

这里与上面不同的是只是根布局的android:background="@drawable/bg_theme"改了。而bg_theme是这样的

图片名称

效果如下:

图片名称

这里就是用的layer-list,恍然大悟啊!!

当时没有一个意思,背景颜色也可以在分解的。上面的layer-list就是把一个背景颜色分成两个部分上面是蓝色的下面是白色效果,实际上是白色覆盖了蓝色,只是上面有个偏移量,没有完全覆盖。这样就达到了想要的效果。
哎,自己都觉得自己有点傻了,这个竟然没有想到。这里有个意识,那就是背景颜色也是再可分的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值