zoukankan      html  css  js  c++  java
  • Android 使用xml实现边框阴影,背景渐变效果(附有RGB颜色查询对照表)

    上图是显示效果,下面是代码实现:

    个人理解就是使用layer-list实现两层view的叠加,其中top,left,bottom,left控制阴影

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
        <!--阴影-->
        <item
            android:left="6dp"
            android:top="6dp"
            >
            <shape android:shape="rectangle">
                <gradient
                    android:angle="270"
                    android:endColor="#0eeeef00"
                    android:startColor="#0eeeef00"/>
    
                <corners
                    android:bottomLeftRadius="6dip"
                    android:bottomRightRadius="6dip"
                    android:topLeftRadius="6dip"
                    android:topRightRadius="6dip"/>
            </shape>
        </item>
        <!--阴影-->
    
        <!--白色背景-->
        <item
            android:left="8dp"
            android:top="8dp"
            android:bottom="4dp"
            android:right="4dp">
    
            <shape android:shape="rectangle">
                <gradient
                    android:angle="270"
                    android:endColor="#FFFFFF"
                    android:startColor="#FFFFFF"/>
    
                <corners
                    android:bottomLeftRadius="6dip"
                    android:bottomRightRadius="6dip"
                    android:topLeftRadius="6dip"
                    android:topRightRadius="6dip"/>
            </shape>
        </item>
    
    </layer-list>
    渐变就是利用
    gradient的属性endcolor和startcolor,centercolor来控制颜色的不同
    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item
            android:left="6dp"
            android:top="6dp"
            >
            <shape android:shape="rectangle">
                <gradient
                    android:startColor="#FFFF0000"
                    android:endColor="#80FF00FF"
                    android:centerColor="#80ffff00"
                    android:angle="270"/>
    
                <corners
                    android:bottomLeftRadius="6dip"
                    android:bottomRightRadius="6dip"
                    android:topLeftRadius="6dip"
                    android:topRightRadius="6dip"/>
            </shape>
        </item>
    
    </layer-list>
  • 相关阅读:
    【扩展】1. PHP 大括号{} 的使用
    preg_replace 中修正符 e 的解析
    terminal 修改终端显示的名字
    find 命令详解
    OSI 7层结构 粗认识
    vi 全解析
    awk 学习笔记
    scp 复制远程文件 文件带空格 处理
    更新博客地址啦!!!
    ubuntu16.04安装NVIDIA驱动遇到的问题
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/9375893.html
Copyright © 2011-2022 走看看