Список слоев xml для Android не отображается правильно на некоторых устройствах
У меня есть список слоев xml, который можно использовать как фон для просмотра, который не отображается на некоторых устройствах.
У меня есть Huawei Ascend Mate с 4.2.2, который отображает его в порядке.
На планшетном планшете Asus с 4.1.2 я вижу только штрих формы элемента и не вижу других элементов.
Что я делаю неправильно?
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="@color/yellow_color" />
</shape>
</item>
<item>
<bitmap
android:gravity="center_horizontal|bottom"
android:src="@drawable/dotted_bg"
android:tileMode="repeat" />
</item>
<item>
<shape>
<stroke
android:width="4dp"
android:color="@color/yellow_color" />
</shape>
</item>
<item>
<bitmap
android:gravity="center_horizontal|bottom"
android:src="@drawable/tls_bg" />
</item>
</layer-list>
Ответы
Ответ 1
Я исправил проблему. По-видимому, на некоторых устройствах (android 4.0 и 4.1.1) следующий код сделал все слои ниже следующей формы, чтобы быть перекрашенными черным цветом.
<item>
<shape>
<stroke
android:width="4dp"
android:color="@color/yellow_color" />
</shape>
</item>
Я добавил прозрачный сплошной цвет для формы, и теперь он отлично работает.
<item>
<shape>
<stroke
android:width="4dp"
android:color="@color/yellow_color" />
<solid android:color="@android:color/transparent" />
</shape>
</item>
Поэтому никогда не оставляйте фигуры с рамкой без цвета, так как некоторые устройства будут рисовать ее черным!
Ответ 2
Телефоны используют разные уровни API: 16 и 17. Убедитесь, что у вас нет нескольких каталогов значений для определенных целей (например, значения-v16 и values-v17).
Кроме того, элементы, которые не отображаются, содержат ссылки на некоторые чертежи, поэтому убедитесь, что файлы верны в каждом доступном каталоге для каждого экрана.
Ответ 3
Это, вероятно, потому, что вытачиваемые android:src="@drawable/dotted_bg"
, android:src="@drawable/dotted_bg"
и android:src="@drawable/tls_bg"
слишком большие. Найдите плотность экрана вашего устройства и проверьте его соответствующую папку ресурса (например, drawable-xhdpi
) и уменьшите выделение в этой папке.