Android layer-list 奇妙之处

原创 2016年08月31日 14:29:23

这个是在工作中测试提出的一个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就是把一个背景颜色分成两个部分上面是蓝色的下面是白色效果,实际上是白色覆盖了蓝色,只是上面有个偏移量,没有完全覆盖。这样就达到了想要的效果。
哎,自己都觉得自己有点傻了,这个竟然没有想到。这里有个意识,那就是背景颜色也是再可分的。

LayerDrawable层叠样式layer-list

layer-list可以将多个图片按照顺序层叠起来。 语法:在drawalbe/drawable-layer.xml中 Java代码  "http://schemas.android.com/apk/...
  • kepoon
  • kepoon
  • 2011年07月04日 16:26
  • 3393

Android中layer-list使用详解

使用layer-list可以将多个drawable按照顺序层叠在一起显示,默认情况下,所有的item中的drawable都会自动根据它附上view的大小而进行缩放, layer-list中的item...

android 中layer-list的用法

1.可以将多个图片按照顺序层叠起来   2.在drawable下建立一个xml文件     [xhtml:showcolumns] view plaincopyprint? ...

Android简单自定义圆形和水平ProgressBar seekbar select layer-list 转

ProgressBar简介 继承于View类,直接子类有AbsSeekBar和ContentLoadingProgressBar,其中AbsSeekBar的子类有SeekBar和Ra...

Android开发:shape和selector和layer-list的(详细说明)

shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和...
  • brokge
  • brokge
  • 2013年08月02日 09:59
  • 121479

Android layer-list的属性和使用详解

Android layer-list的属性和使用详解,layer-list是用来多个图层堆叠显示的,借这个特性可以做一些特别的效果(比如:阴影、下面的效果等),也可以投机取巧。 1.代码片 ...
  • pcaxb
  • pcaxb
  • 2015年08月19日 15:47
  • 10352

layer-list -- layer-list的基本使用介绍

1. layer-list 是啥?有啥作用?点击查看 安卓官方开发指南中关于layerlsit的说明(1). layer-list 是啥?简单理解,layer 是层,list 是列表,那么 layer...

Android 文字阴影、layer-list、shape和selector使用

文件添加阴影效果:

layer_list和shape的混搭使用

借鉴drawable文件夹,values使用dimens控制字体大小、边距大小。适配Android不同机型,不同屏幕

以前一直是个Get用户,一直都是伸手党,最近刚好项目中要用到机型适配,试了很多方法(配置不同layout文件夹,不同的layout文件等)。但都感觉后期维护工作量巨大,后来从图片资源适配获得灵感,使用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android layer-list 奇妙之处
举报原因:
原因补充:

(最多只允许输入30个字)