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直接应用即可,文件名这么凸显了,相信众屌也能懂。

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

  • 相关阅读:
    HDU2222 自动机(学习中)
    POJ 2289(多重匹配+二分)
    POJ 1486二分图的必要边
    二分图
    2015陕西 并查集
    Hdu2680 最短路
    函数调用约定
    用01随机函数构造[a,b]整数范围随机数
    hello
    Ubuntu 16.04 install R language
  • 原文地址:https://www.cnblogs.com/jinglingJuly/p/3399024.html
Copyright © 2011-2022 走看看