Исправлена ​​ошибка 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> 

Это нарисует приятную пунктирную линию на нескольких телефонах 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" /> 

Solutions Collecting From Web of "Исправлена ​​ошибка ICS с пунктирной линией."

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

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