I am trying to display borders like whatsapp so for that i used dash width and dash gap and those are working but its varying mobile to mobile. i have been trying from morning but i didn't got relevant answer. here is my code: myxml :
<ImageView
android:id="@+id/image_story"
android:layout_width="55dp"
android:layout_height="55dp"
android:background="@drawable/border"
android:padding="3dp"
android:src="@drawable/default" />
and drawable border.xml:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="true">
<stroke
android:width="5dp"
android:color="#f62b16"
android:dashGap="10dp"
android:dashWidth="200dp" />
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<corners android:radius="30dp" /></shape>
and in Activity
var dashWidth: Float = 200f
var dashGap: Float = 0f
if(posts.size > 1) {
dashWidth = dashWidth / posts.size
dashGap = 10f
}
var drawable = image_story.getBackground() as GradientDrawable
drawable.setStroke(5, Color.parseColor("#000000"), dashWidth, dashGap)
here i am taking total dashwidth as 200f but its working for some mobiles i don't understand why?
so if anybody have idea please let me know how to fix this Thanks in adavnce