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
 
     
    