zoukankan      html  css  js  c++  java
  • 通过layer-list多图层叠加效果实现圆角功能

    在android的开发过程中,我们可能会做圆角的效果出来,如下图所示:

    四个角都是圆角的效果。如果让UI设计人员直接出图,可能会更简单一些。但是我们使用android中layer-list多图层叠加效果同样可以实现。

    我们把它拆分为三个部分,第一个部分是最顶端的那一行(我这里称为顶部),第二部分是中间部分(中间部分不需要圆角效果),第三部分是底部。

    顶部的实现:

    顶部是一个有灰色边框但无下边框,带圆角,白色背景的长方体。实现效果如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
        <item >  
            <shape>  
                <solid android:color="#FFFFFF" />  
                <corners android:topLeftRadius="10dp" android:topRightRadius="10dp" 
                    android:bottomRightRadius="0.1dp" android:bottomLeftRadius="0.1dp" />  
                <stroke android:width="1dp" android:color="#ffa8abad" />  
            </shape>  
        </item>  
         <item android:top="1dp" android:left="1dp" android:right="1dp">  
            <shape>  
                <solid android:color="#FFFFFF" />  
                <corners android:topLeftRadius="10dp" android:topRightRadius="10dp" 
                    android:bottomRightRadius="0.1dp" android:bottomLeftRadius="0.1dp" />  
                <stroke android:width="1dp" android:color="#ffffffff" />  
            </shape>  
        </item> 
    </layer-list>

    中间部分是一个不带圆角 白色背景 灰色边框 无下边框 长方体.实现效果如下:

    <?xml version="1.0" encoding="UTF-8"?>  
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >  
      <item>  
            <shape>  
                <solid android:color="#FFFFFF" />  
                <stroke 
                    android:width="1dp" 
                    android:color="#ffa8abad" />  
            </shape>  
        </item> 
         <item 
            android:left="1dp" 
            android:right="1dp" 
            android:top="1dp">  
            <shape>  
                <solid android:color="#FFFFFF" />  
                <stroke 
                    android:width="1dp" 
                    android:color="#ffffffff" />  
            </shape>  
        </item> 
    </layer-list>

    底部是一个具有底部圆角,白色背景,灰色边框的长方体,实现效果如下:

    <?xml version="1.0" encoding="UTF-8"?>  
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
        <item>  
            <shape>  
                <solid android:color="#FFFFFF" />  
                <corners android:topLeftRadius="0.1dp" android:topRightRadius="0.1dp" 
                    android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp" />  
                <stroke android:width="1dp" android:color="#ffa8abad" />  
            </shape>  
        </item>  
       <item android:top="1dp" android:bottom="1dp" android:left="1dp" android:right="1dp">  
            <shape>  
                <solid android:color="#FFFFFF" />  
                <corners android:topLeftRadius="0.1dp" android:topRightRadius="0.1dp" 
                    android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp" />  
                <stroke android:width="1dp" android:color="#ffffffff" />  
            </shape>  
        </item>
    </layer-list>
  • 相关阅读:
    windows代码,传入文件名,遍历此目录下所有文件.
    windows,分割路径.得出目录
    windows代码,路径分割
    windows下,读取快捷方式lnk所指向的路径
    【Unity】3.2 利用预设(Prefab)制作可复用的组件
    【Unity】3.1 利用内置的3D对象创建三维模型
    【Unity】3.0 第3章 创建和导入3D模型
    【Unity】2.11 了解游戏有哪些分类对你开阔思路有好处
    【Unity】2.10 利用VS2015编辑Unity的C#脚本
    【Unity】2.9 光源(Lights)
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4773154.html
Copyright © 2011-2022 走看看