【发布时间】:2014-01-24 12:54:49
【问题描述】:
所以我正在使用三星 Note 2 设备进行开发,并且出于某种原因创建此可绘制对象时
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="5dp" />
<stroke
android:width="1dp"
android:color="@color/grey_light" />
</shape>
并将其作为背景应用到LinearLayout,它使背景变黑,
如果我完全删除 LinearLayout 的背景属性,它会保持透明,只有当我对其应用可绘制对象时,它才会变黑。
但如果我添加
<solid android:color="@android:color/transparent" />
到可绘制 XML 的顶部,它会移除黑色。
现在我知道设备可以有自己的默认主题,但这似乎是一种奇怪的行为,有什么办法可以摆脱它(/默认背景为透明),这样我就不必将它添加到更多我的drawables?
注意:它在 Nexus 7、HTC One 上运行良好,只有在三星设备上才会出现这种情况。
【问题讨论】:
-
是的,您需要将其添加到所有形状可绘制对象中才能解决三星的错误。
-
@sandrstar 以什么方式?在主题中,我尝试设置
android:background,但没有任何作用。 -
@shoerat 我认为你没有理解这个问题。 gray_light 中风很好。问题是除非我将
<solid>应用为透明,否则会将纯黑色应用于可绘制对象的背景 -
解决 Touchwiz 中的错误是 Android 开发人员 88% 的工作。 ://
-
是的,这很棒。此外,一些 HTC 设备也有同样的问题。