Is there any way to prevent partial overlapping of the stroke
on the shape drawable
. I prefer to overlap the stroke completely on the borders of the sh
Try to divide it into two shapes - one for stroke and one for rectangle. In this solution I manipulate size of rectangle so that I can change its relation with borders.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/offset"
android:left="@dimen/offset"
android:right="@dimen/offset"
android:top="@dimen/offset">
<shape android:shape="rectangle">
<solid android:color="@color/green" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<stroke
android:width="20dp"
android:color="@color/red_50"
android:dashGap="2dp"
android:dashWidth="10dp" />
</shape>
</item>
</layer-list>
You can adjust the offset to get outer or inner stroke.
These values come from difference of size of transparent rectangle (stroke layer) and the green one. In your case they will be 20dp
or none.