先上效果圖:
就是一個類似微信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直接應用即可,文件名這么凸顯了,相信眾屌也能懂。
如有改進或錯誤之處,不憐賜教。