سؤال

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