以下は、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>
これにより、いくつかのジンジャーブレッド電話に素敵な点線が引かれます。ただし、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" />
この問題はここに記録されます http://code.google.com/p/Android/issues/detail?id=29944 ハードウェアアクセラレーションをオフにすると、破線が表示されます。
http://code.google.com/p/Android/issues/detail?id=29944 に記録された問題には、ビューに以下を適用するというコメントがあります。
view.setLayerType(View.LAYER_TYPE_SOFTWARE, null)
これは私のために働いた。