2009-08-14 42 views
22

我真的很感激,如果有人可以幫助我使用形狀可繪製作爲我的背景xml爲我的看法。使用形狀可繪製作爲我的背景xml

這就是我試過的: 但我從來沒有得到的顏色。無論我放置什麼顏色屬性,Android總是在白色背景上給我黑色文本。

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle"> 
      <stroke android:width="1dip" android:color="#FBBB" /> 
      <solid android:color="#6000"/> 
</shape> 

我試過了,不行

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle" 
      android:color="#6000> 

</shape> 

我試過了,不行

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle" 
      android:background="#6000> 
</shape> 

我谷歌,這是有限的結果,我發現去嘗試。

+0

你的形狀的例子在這裏工作。您可能沒有在視圖 – 2009-10-07 18:16:00

+4

@ n179911中正確設置它:請不要使用以下字詞開頭:help in ...我們已經知道您在尋找幫助 – Casebash 2010-05-05 22:53:13

回答

36

你錯了顏色設置,你必須指定4點字節的顏色,例如:#ffff8080

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#f0600000"/> 
    <stroke android:width="3dp" android:color="#ffff8080"/> 
    <corners android:radius="3dp" /> 
    <padding android:left="10dp" android:top="10dp" 
     android:right="10dp" android:bottom="10dp" /> 
</shape> 
+0

我的1。5 SDK與3或4個字符的顏色代碼效果很好 – 2009-10-07 18:09:16

+10

目前還不清楚9人如何將該答案排列爲解決所述問題的答案!請參閱http://developer.android.com/guide/topics/resources/more-resources.html#Color。 32位顏色不是必需的!此外,我已經發布了使用24位彩色形狀繪圖的應用程序。請參閱http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape。最後,我嘗試了「已批准」的代碼 - 它失敗了! – Tenacious 2012-04-10 22:20:23

+1

道歉 - 我應該說「它不起作用」 - 不是「失敗!」 – Tenacious 2012-04-10 23:23:59

5

行 - 我敢肯定,我的問題是一樣的是什麼驅使你的問題,而且我已經找到它的原因。

問題是資源定義(特別是資源文件名)衝突。例如,說出於某種原因,您在項目中的/ res/color /中放置了一個名爲「drawable_bg.png」的文件;忘記了你是否做了這件事(或者它是偶然發生的)。如果您嘗試在名爲「res/drawable/dialog_bg.xml」的項目中定義一個Shape Drawable,則PNG(來自'MyLib')優先。由於您可以爲不同的DPI,形狀因子,SDK等提供許多「res」文件夾,因此很容易發生文件名衝突。 Android Library項目也會發生這種情況。如果您的項目對自己擁有資源的項目有任何依賴關係,則可能會導致衝突。正如我今天剛發現的那樣,在很多情況下,Eclipse可以隱藏或不顯示警告。

發生這種情況時,很容易出現Shape Drawable未應用。由於「dialog_bg.png」可能不是針對您的視圖設計的,因此您會得到意想不到的結果,並且很容易讓人誤解實際情況。

解決此問題的最簡單方法是重命名項目中可繪製的形狀。如果問題出在Android庫項目中的資源上,那麼應用http://tools.android.com/recent/buildchangesinrevision14中描述的推薦做法可能會找到更好的解決方案。

+0

非常感謝,我嘗試了每個瘋狂的選項,但沒有任何幫助。只有形狀文件重命名保存了我。 – Anastasia 2014-07-14 23:00:04

3

看起來這裏有幾個問題。最大的一個似乎是你可以使用一個形狀作爲文本顏色,這似乎沒有道理的想法。您可以使用顏色作爲形狀的背景,並且可以將形狀設置爲視圖的背景,但不能將形狀設置爲文本背景或前景。

看起來不對的另一件事是,在您嘗試的替代XML文件中,顏色值周圍的結束引號缺失,因此根本不應編譯。

3

您給出了錯誤的hexa顏色屬性。在#之後應該是八位數字。 e.g #00000000

1

試試這個

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<corners 
    android:bottomLeftRadius="5dp" 
    android:bottomRightRadius="5dp" 
    android:radius="0.1dp" 
    android:topLeftRadius="5dp" 
    android:topRightRadius="5dp" /> 

<solid android:color="#Efffff" /> 

<stroke 
    android:width="2dp" 
    android:color="#25aaff" /> 

</shape>