2014-01-24 266 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