10

Android の点線を使用している場合、小さな画面では問題なく動作しますが、Samsung S3 デバイス以降のバージョンでは動作しません

スクリーンショット

サムスンデバイス

小さな画面

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" />   

誰かがこれで私を助けることができれば、どんなアイデアでもかなりの価値があります.

4

5 に答える 5

28

android:layerType="software"imageView に設定します。android:layerTypeのドキュメントを確認してください。

于 2013-09-25T05:44:48.630 に答える
2

に変更spdpてみてください:

<stroke
    android:dashWidth="20dp"
    android:dashGap="20dp"
    android:width="2dp"
    android:color="#FF0000" />
于 2013-09-24T14:08:53.003 に答える
0

ストローク WIDTH はサイズ HEIGHT よりも小さくする必要があります。

(ストロークの幅は線の幅です。サイズの高さはドローアブルの高さです。描画すると、線はドローアブルの中央に配置されます。サイズの高さ <= ストロークの幅の場合、線は表示されません。)

ここのコードを参照してください: https://stackoverflow.com/a/28867281/3817964

于 2015-03-04T23:49:38.797 に答える
0

sp は、画面の密度 (dp) の倍率だけでなく、デバイスのフォント設定の倍率を使用します。テキストに関連しない寸法には sp を使用しないでください。

于 2013-09-24T14:06:59.753 に答える