Simo
Simo

Reputation: 1230

XML drawable having different behavior on 4.3 and 4.1.2

I have the folowing drawable,

<?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>

"It supposed" to draw a border when set on background, actually on (Android 4.3 /goole nexus 7) it does , but unfortunately on (Android 4.1.2/ Samsung galaxy tab 10") it just fill all the background with the color

If someone can tell me what I'm doing wrong, or if someone has an xml drawable for border, I will be very thankful :=)

Upvotes: 8

Views: 2585

Answers (2)

Simo
Simo

Reputation: 1230

here is the solution with the same drawable

<?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>

I needed just to specify solid color :

 <solid android:color="@android:color/transparent" />

Upvotes: 19

Simo
Simo

Reputation: 1230

code of a border drawable that works better on both versions :

<?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>

Upvotes: 1

Related Questions