zoukankan      html  css  js  c++  java
  • android 圆角item shape

    先上效果图:

    就是一个类似微信qq那种item的shape。

    即时上代码,少废话。

    以下文件均为drawable文件夹下

    文件:shape_general_item_top_bg_up.xml

    <?xml version="1.0" encoding="UTF-8"?>  
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
        <item>  
            <shape>  
                <solid android:color="@android:color/white" />  
                <!-- 圆角 -->
                <corners
                    android:topLeftRadius="5dp"
                    android:topRightRadius="5dp"
                    android:bottomLeftRadius="0dp"
                    android:bottomRightRadius="0dp"
                    /><!-- 设置圆角半径 -->
                <stroke android:width="1dp" android:color="@color/GENERAL_ITEM_STROKE_COLOR" />  
            </shape>  
        </item>  
        <item android:top="1dp" android:left="1dp" android:right="1dp" android:bottom="1dp">  
            <shape>  
                <solid android:color="@android:color/white" />
                <!-- 圆角 -->
                <corners
                    android:topLeftRadius="5dp"
                    android:topRightRadius="5dp"
                    android:bottomLeftRadius="0dp"
                    android:bottomRightRadius="0dp"
                    /><!-- 设置圆角半径 -->
                <!-- 间隔 -->
                <padding
                    android:left="2dp"
                    android:top="0dp"
                    android:right="2dp"
                    android:bottom="0dp"/><!-- 各方向的间隔 -->
                <stroke android:width="1dp" android:color="@android:color/white" />  
            </shape>  
        </item>  
    </layer-list>  

    文件:shape_general_item_top_bg_down.xml

    <?xml version="1.0" encoding="UTF-8"?>  
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
        <item>  
            <shape>  
                <solid android:color="@color/GENERAL_ITEM_STROKE_DOWN_COLOR" /> 
                <!-- 圆角 -->
                <corners
                    android:topLeftRadius="5dp"
                    android:topRightRadius="5dp"
                    android:bottomLeftRadius="0dp"
                    android:bottomRightRadius="0dp"
                    /><!-- 设置圆角半径 -->
                <stroke android:width="1dp" android:color="@color/GENERAL_ITEM_STROKE_COLOR" />  
            </shape>  
        </item>  
        <item android:top="1dp" android:left="1dp" android:right="1dp" android:bottom="1dp">  
            <shape>  
                <solid android:color="@color/GENERAL_ITEM_STROKE_DOWN_COLOR" />
                <!-- 圆角 -->
                <corners
                    android:topLeftRadius="5dp"
                    android:topRightRadius="5dp"
                    android:bottomLeftRadius="0dp"
                    android:bottomRightRadius="0dp"
                    /><!-- 设置圆角半径 -->
                <!-- 间隔 -->
                <padding
                    android:left="2dp"
                    android:top="0dp"
                    android:right="2dp"
                    android:bottom="0dp"/><!-- 各方向的间隔 -->
                <stroke android:width="1dp" android:color="@color/GENERAL_ITEM_STROKE_DOWN_COLOR" />  
            </shape>  
        </item>  
    </layer-list>  

    文件:shape_general_item_down_bg_up.xml

    <?xml version="1.0" encoding="UTF-8"?>  
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
        <item>  
            <shape>  
                <solid android:color="@android:color/white" />  
                <!-- 圆角 -->
                <corners
                    android:topLeftRadius="0dp"
                    android:topRightRadius="0dp"
                    android:bottomLeftRadius="5dp"
                    android:bottomRightRadius="5dp"
                    /><!-- 设置圆角半径 -->
                <stroke android:width="1dp" android:color="@color/GENERAL_ITEM_STROKE_COLOR" />  
            </shape>  
        </item>  
        <item android:left="1dp" android:right="1dp" android:bottom="1dp">  
            <shape>  
                <solid android:color="@android:color/white" />
                <!-- 圆角 -->
                <corners
                    android:topLeftRadius="0dp"
                    android:topRightRadius="0dp"
                    android:bottomLeftRadius="5dp"
                    android:bottomRightRadius="5dp"
                    /><!-- 设置圆角半径 -->
                <!-- 间隔 -->
                <padding
                    android:left="2dp"
                    android:top="0dp"
                    android:right="2dp"
                    android:bottom="0dp"/><!-- 各方向的间隔 -->
                <stroke android:width="1dp" android:color="@android:color/white" />  
            </shape>  
        </item>  
    </layer-list>  

    文件:shape_general_item_down_bg_down.xml

    <?xml version="1.0" encoding="UTF-8"?>  
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
        <item>  
            <shape>  
                <solid android:color="@color/GENERAL_ITEM_STROKE_DOWN_COLOR" /> 
                <!-- 圆角 -->
                <corners
                    android:topLeftRadius="0dp"
                    android:topRightRadius="0dp"
                    android:bottomLeftRadius="5dp"
                    android:bottomRightRadius="5dp"
                    /><!-- 设置圆角半径 -->
                <stroke android:width="1dp" android:color="@color/GENERAL_ITEM_STROKE_COLOR" />  
            </shape>  
        </item>  
        <item android:left="1dp" android:right="1dp" android:bottom="1dp">  
            <shape>  
                <solid android:color="@color/GENERAL_ITEM_STROKE_DOWN_COLOR" />
                <!-- 圆角 -->
                <corners
                    android:topLeftRadius="0dp"
                    android:topRightRadius="0dp"
                    android:bottomLeftRadius="5dp"
                    android:bottomRightRadius="5dp"
                    /><!-- 设置圆角半径 -->
                <!-- 间隔 -->
                <padding
                    android:left="2dp"
                    android:top="0dp"
                    android:right="2dp"
                    android:bottom="0dp"/><!-- 各方向的间隔 -->
                <stroke android:width="1dp" android:color="@color/GENERAL_ITEM_STROKE_DOWN_COLOR" />  
            </shape>  
        </item>  
    </layer-list>  

    文件:shape_general_item_center_bg_up.xml

    <?xml version="1.0" encoding="UTF-8"?>  
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
        <item>  
            <shape>  
                <solid android:color="@android:color/white" />  
                <corners  />  
                <stroke android:width="1dp" android:color="@color/GENERAL_ITEM_STROKE_COLOR" />  
            </shape>  
        </item>  
        <item android:left="1dp" android:right="1dp" android:bottom="1dp">  
            <shape>  
                <solid android:color="@android:color/white" />  
                <!-- 间隔 -->
                <padding
                    android:left="2dp"
                    android:top="0dp"
                    android:right="2dp"
                    android:bottom="0dp"/><!-- 各方向的间隔 -->
                <corners  />  
                <stroke android:width="1dp" android:color="@android:color/white" />  
            </shape>  
        </item>  
    </layer-list>  

    文件:shape_general_item_center_bg_down.xml

    <?xml version="1.0" encoding="UTF-8"?>  
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
        <item>  
            <shape>  
                <solid android:color="@color/GENERAL_ITEM_STROKE_DOWN_COLOR" />  
                <corners  />  
                <stroke android:width="1dp" android:color="@color/GENERAL_ITEM_STROKE_COLOR" />  
            </shape>  
        </item>  
        <item android:left="1dp" android:right="1dp" android:bottom="1dp">  
            <shape>  
                <solid android:color="@color/GENERAL_ITEM_STROKE_DOWN_COLOR" /> 
                <!-- 间隔 -->
                <padding
                    android:left="2dp"
                    android:top="0dp"
                    android:right="2dp"
                    android:bottom="0dp"/><!-- 各方向的间隔 -->
                <corners  />  
                <stroke android:width="1dp" android:color="@color/GENERAL_ITEM_STROKE_DOWN_COLOR" />  
            </shape>  
        </item>  
    </layer-list>  

    以上为上中下的边框keyup keydown状态

    以下是selector

    文件:general_item_top_bg_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"
        android:drawable="@drawable/shape_general_item_top_bg_down"/>
        <item android:state_pressed="false"
        android:drawable="@drawable/shape_general_item_top_bg_up"/>  
    </selector>

    文件:general_item_center_bg_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"
        android:drawable="@drawable/shape_general_item_center_bg_down"/>
        <item android:state_pressed="false"
        android:drawable="@drawable/shape_general_item_center_bg_up"/>  
    </selector>

    文件:general_item_down_bg_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"
        android:drawable="@drawable/shape_general_item_down_bg_down"/>
        <item android:state_pressed="false"
        android:drawable="@drawable/shape_general_item_down_bg_up"/>  
    </selector>

    以上三个selector直接应用即可,文件名这么凸显了,相信众屌也能懂。

    如有改进或错误之处,不怜赐教。

  • 相关阅读:
    机器视觉-halcon学习笔记1
    c#桌面窗体软件【学习笔记】
    Csharp学习笔记 重载
    unity学习笔记——第一人称
    Csharp学习笔记_kita (第二天)namespace
    try ,catch ,finally执行流程
    开发之统一异常处理
    git开发日常使用总结
    mysql5.7绿色版配置以及找不到 mysql服务问题解决
    正则表达式,将数据库字段转换为驼峰式
  • 原文地址:https://www.cnblogs.com/jinglingJuly/p/3399024.html
Copyright © 2011-2022 走看看