8

我有以下可绘制的,

<?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 / Samsung Galaxy tab 10“)上它只是用颜色填充所有背景

如果有人能告诉我我做错了什么,或者如果有人有一个可绘制边框的 xml,我将非常感激 :=)

4

2 回答 2

20

这是具有相同可绘制对象的解决方案

<?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" />
于 2014-01-23T14:57:28.753 回答
1

在两个版本上都可以更好地工作的边框可绘制代码:

<?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>
于 2013-09-19T12:17:43.487 回答