Android пунктирная линия drawable потенциальная ошибка ICS

следующая пунктирная линия, определенная как ShapeDrawable в XML:

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

2 ответов


эта проблема регистрируется здесь 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)

это сработало для меня.