2014-01-24 215 views
25

所以我用的是三星注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的背景属性,它将保持透明,只有当我将drawable应用到它时,它才会变黑。

,但如果我添加

<solid android:color="@android:color/transparent" /> 

到XML绘制的顶部,它消除了黑。

现在我知道设备可以有自己的默认主题,但这似乎是奇怪的行为,有没有什么办法可以摆脱它(/默认背景为透明),以便我不必将此添加到更多我的drawables?

注意:它适用于Nexus 7,HTC One,它只在三星设备上发生这种情况。

+0

是的,您需要将其添加到您的所有形状可绘图中以解决三星的错误。 – alanv

+0

看来这不是三星设备中的错误。你有没有试图解决它与您的应用程序/活动主题背景? – sandrstar

+0

你的''@ color/grey_light''是如何定义的? – ozbek

回答

17

几个月前我遇到了这个问题。据我所知,三星在Android的代码中改变了一些东西,所以现在你必须定义固体标签。只需将固体标签添加到绘图板即可。

+1

对我来说固定它。这出现在三星S3 Mini上。非常失望。 –

+0

似乎不是三星的错误。这发生在一个华硕设备和Genymotion Android 4.1,所以这可能来自Android本身。 – yuku