以下是虚线,在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" />
答案 0 :(得分:47)
http://code.google.com/p/android/issues/detail?id=29944上记录的问题包含对您的观点应用以下内容的评论:
view.setLayerType(View.LAYER_TYPE_SOFTWARE, null)
这对我有用。
答案 1 :(得分:23)
此问题记录在此处http://code.google.com/p/android/issues/detail?id=29944关闭硬件加速将显示虚线。