我有下面的抽奖,
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="3dp"/>
<padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/>
<stroke android:width="1dp" android:color="#e4e4e4"/>
</shape>
“它应该”在背景上设置时绘制边框,实际上(Android 4.3 / goole nexus 7)确实如此,但不幸的是(Android 4.1.2 /三星galaxy tab 10“)它只填充所有背景用颜色
如果有人可以告诉我我做错了什么,或者有人有一个xml drawable for border, 我将非常感激:=)
答案 0 :(得分:19)
这是具有相同可绘制的解决方案
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@android:color/transparent" />
<corners android:radius="3dp"/>
<stroke android:width="1dip" android:color="#e2e2e2"/>
</shape>
我只需要指定纯色:
<solid android:color="@android:color/transparent" />
答案 1 :(得分:1)
边框drawable的代码,在两个版本上都能更好地运行:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- This is the line -->
<item android:top="1px" android:right="1px" android:left="1px" android:bottom="1px">
<shape>
<solid android:color="@android:color/transparent" />
<corners android:radius="3dp"/>
<stroke android:width="1px" android:color="#e4e4e4" />
</shape>
</item>
</layer-list>