android layer-list 使用进阶

1.前言

今天修改 UI 界面,如下图 左右两边“前一天 后一天”背景是一个【弧形+矩形】结合体,因为 shape 只能画 矩形、圆环 、椭圆,所以明显达不到要求,所以要么 使用图片 要么自定义 view 画出来,个人感觉都不太好,突然抖机灵 以前使用 layer-list 画 view 的阴影,感觉可以使用 layer-list 达到效果,果然。


这里写图片描述

2.简介

layer-list 本身 layer 就是图层的意思,所以 layer-list 字面上的意思就是 多个图层的集合体,使用它,我们可以将多个图层上下按照顺序叠加一起,当成一个整体 ,顺序规则是 前面的在下面 ,和 FrameLayout 是一样的叠加规则。

圆弧+矩形其实就是矩形和圆形在 layer-list 叠加显示,同时使用 layer-list 的属性偏移量即可

3.实现

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item android:right="25dp">
        <shape android:shape="rectangle">
            <solid android:color="@color/gray3" />
        </shape>
    </item>

    <item android:left="25dp">
        <shape android:shape="oval">
            <size
                android:width="50dp"
                android:height="50dp" />
            <solid android:color="@color/gray3" />
        </shape>
    </item>
</layer-list>


这里写图片描述

可能会发现设置到 background 后,体验不是很好,因为 UI 设计出来的显示并不完成,我们这里完成显示不太好看,设置下 margin 即可,将多余的设置到屏幕以外

  android:layout_marginLeft="-16dp"

ok 完成

猜你喜欢

转载自blog.csdn.net/guozhaohui628/article/details/79849729