我有一个奇怪的问题,一个XML Drawable
在我的Galaxy Nexus手机(API 17)上,drawable看起来像这样是正确的。
然而,在较旧的手机(HTC Explorer)(2.3.5 Gingerbread)上看起来这是错误的
这是我的XML drawable
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<stroke
android:width="2dp"
android:color="#FF0000" />
<padding
android:bottom="3dp"
android:left="3dp"
android:right="3dp"
android:top="3dp" />
</shape>
文字视图
<TextView
android:id="@+id/tvSet1One"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:gravity="center"
android:text="01"
android:textSize="20sp"
android:textStyle="bold" />
请注意,文本视图的背景是通过setBackgroundResource方法在Java中设置的。
感谢您的阅读。
答案 0 :(得分:0)
您必须在可绘制的xml中为您的形状添加透明背景(使用实体)。在较新的Android版本中,背景默认为透明,但在较旧的版本上,默认为黑色。
所以你的XML drawable是:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<stroke
android:width="2dp"
android:color="#FF0000" />
<padding
android:bottom="3dp"
android:left="3dp"
android:right="3dp"
android:top="3dp" />
<solid
android:color="#00000000"/>
</shape>