Domanda

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.

È stato utile?

Soluzione

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

Altri suggerimenti

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"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top