我有一个XML层列表,可以作为视图的背景绘制,但在某些设备上显示不正确。
我有一个华为Ascend Mate 4.2.2版本,显示OK。
在4.1.2版的华硕PhonePad平板电脑上,我只看到了项目形状笔划,没有看到其他项目。
我做错什么了?
<?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>
最佳答案
我已经解决了这个问题。显然,在一些设备(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>
所以千万不要让有边框的形状没有颜色,因为有些设备会把它涂成黑色!