33

以下は、XML で ShapeDrawable として定義された破線です。

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">

    <size
        android:height="2dp"
        android:width="700dp" />

    <stroke
        android:width="1dp"
        android:color="@android:color/black"
        android:dashWidth="1dp"
        android:dashGap="2dp" />

</shape>

これにより、いくつかの Gingerbread フォンで素敵な点線が描画されます。ただし、Galaxy Nexus では、ダッシュは無視されているように見え、形状は連続した線として描かれます。さらに興味深いことに、ICS を実行しているエミュレーターは、ダッシュで正しくレンダリングされます。これは、物理デバイスが台無しになっているだけです。

明らかな何かが欠けていますか?それとも、これは本当に Android 4.0 のバグですか? ラインはいくつかの場所で使用されます。ImageView の例を次に示します。

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/observation_observe_side_margin"
    android:layout_marginRight="@dimen/observation_observe_side_margin"
    android:layout_marginTop="16dp"
    android:contentDescription="@string/dotted_line_description"
    android:src="@drawable/dotted_line" />
4

2 に答える 2

50

http://code.google.com/p/android/issues/detail?id=29944に記録された問題には、ビューに次を適用するというコメントがあります。

view.setLayerType(View.LAYER_TYPE_SOFTWARE, null)

これは私にとってはうまくいきました。

于 2012-11-28T16:50:21.887 に答える
24

この問題はここに記録されますhttp://code.google.com/p/android/issues/detail?id=29944ハードウェアアクセラレーションをオフにすると、破線が表示されます。

于 2012-06-11T15:27:14.057 に答える