【问题标题】:Shape Drawables on Samsung devices default to black background三星设备上的 Shape Drawables 默认为黑色背景
【发布时间】: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 中风很好。问题是除非我将&lt;solid&gt; 应用为透明,否则会将纯黑色应用于可绘制对象的背景
  • 解决 Touchwiz 中的错误是 Android 开发人员 88% 的工作。 ://
  • 是的,这很棒。此外,一些 HTC 设备也有同样的问题。

标签: android drawable


【解决方案1】:

几个月前我遇到了这个问题。据我所知,三星更改了 Android 代码中的某些内容,因此现在您必须定义实体标签。只需将solid 标签添加到您的drawables。

【讨论】:

  • 是的,帮我修好了。这出现在三星 S3 Mini 上。非常令人失望。
  • 似乎不是三星的错误。这发生在一台华硕设备和 Genymotion Android 4.1 上,所以这可能来自 Android 本身。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-20
  • 1970-01-01
  • 2014-05-10
  • 1970-01-01
相关资源
最近更新 更多