문제

When I am using android dotted line its working fine in Small screens, but not working in Samsung S3 device and higher versions.

Screenshots

samsung Device

And

Small screens

drawable/dashline.xml

<?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="line" >

     <stroke
        android:dashWidth="20sp"
        android:dashGap="20sp"
        android:width="2dp"
         android:color="#FF0000" />

     </shape>

XML

 <ImageView
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="6dp"
    android:background="@drawable/dash_line" />   

If someone can help me out in this, any idea is appreciable.

도움이 되었습니까?

해결책

set android:layerType="software" for your imageView. Check the docs for android:layerType.

다른 팁

Try changing sp to dp to:

<stroke
    android:dashWidth="20dp"
    android:dashGap="20dp"
    android:width="2dp"
    android:color="#FF0000" />

Stroke WIDTH must be smaller than the size HEIGHT.

(Stroke width is the width of the line. Size height is the height of the drawable. When drawn, the line is centered in the drawable. If size height <=stroke width, the line won't show up.)

See code here: https://stackoverflow.com/a/28867281/3817964

sp uses the scale factor of the device's font setting, rather than just the scale factor of the screen's density (dp) - don't use sp for non-text related dimensions.

Add this following line to your AndroidManifest - application tag

android:hardwareAccelerated="false"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top