是否可以创建一个带有条纹背景和圆角的按钮?
我知道如何使用http://www.stripegenerator.com/和带有 tileMode="repeat" 的位图 xml 制作条纹背景(对角条纹),并且我知道如何使用形状创建圆角,我什至可以将它们完全放在图层中-list 但我不知道如何制作带圆角的位图....
是否可以创建一个带有条纹背景和圆角的按钮?
我知道如何使用http://www.stripegenerator.com/和带有 tileMode="repeat" 的位图 xml 制作条纹背景(对角条纹),并且我知道如何使用形状创建圆角,我什至可以将它们完全放在图层中-list 但我不知道如何制作带圆角的位图....
我想你可以看看 Draw Nine Patch 技术。
这是官方文档:
http://developer.android.com/tools/help/draw9patch.html
这是一个很好的教程:
我用以下 xml 解决了我的问题
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item android:top="1dp" android:bottom="1dp" android:left="1dp" android:right="1dp">
<bitmap android:src="@drawable/btn_green_light_bkg_pattern"
android:tileMode="repeat"
android:dither="true"/>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="5dp"/>
<stroke android:width="2dp" android:color="#e6f4cc"/>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item android:top="2dp">
<shape android:shape="rectangle">
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#c3e392"/>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#a6a6a6"/>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
</layer-list>
</item>
<item android:state_pressed="true">
<layer-list>
<item android:top="1dp" android:bottom="1dp" android:left="1dp" android:right="1dp">
<bitmap android:src="@drawable/btn_green_dark_bkg_pattern"
android:tileMode="repeat"
android:dither="true"/>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="5dp"/>
<stroke android:width="2dp" android:color="#e6f4cc"/>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item android:top="2dp">
<shape android:shape="rectangle">
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#c3e392"/>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="@android:color/black"/>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
</layer-list>
</item>
</selector>