2013-05-08 374 views
0

我在Android應用程序中創建一個LinearLayout,其中包含具有漸變灰色的默認按鈕。這個LinearLayout現在是白色的,但當我嘗試將背景顏色更改爲黃色時,該按鈕也變爲黃色,我不希望發生這種情況。我也嘗試使用彩色圖像設置LinearLayout上的背景顏色,但同樣的事情發生。我該如何解決這個問題?這裏是代碼:Android SDK:在LinearLayout上更改背景顏色時,按鈕會變爲彩色

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="horizontal" 
    android:background="@color/yellow"> 

    <Button 
     android:id="@+id/buttonCart" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button"/> 
    </LinearLayout> 

解決:等等,它現在實際上工作。而在Eclipse的佈局視圖中按鈕變成彩色和透明時,按鈕在我在手機上運行應用程序時不受影響。我認爲它會在應用運行時顯示相同的結果。奇怪的是如何成爲在佈局圖中這樣...

+0

你是如何設置按鈕的背景的?它被按下時會變成灰色漸變嗎? – 2013-05-08 14:46:43

+0

是的,但如果我這樣做,那麼按鈕將變得完全平坦和矩形,其大小將被包裹到其中的文本的大小。佈局的高度也將包裹到最小化的按鈕。 – john13th 2013-05-08 15:56:51

回答

0

在這種情況下,你可以設置背景色爲灰色android:background="#A4A4A4"的按鈕也..

0

只設置按鈕所處的背景分開。您可以使用state list drawable,即按鈕的每個狀態(按下,聚焦等)的不同背景以使其成爲可自定義的。

爲什麼背景顏色會隨着佈局變化,我不確定。聽起來你的按鈕默認爲透明。檢查您的styletheme以確保它不影響顯示內容。

+0

嗯,我可以使用主題AppTheme或AppBaseTheme,但它仍然產生相同的結果。我無法找到可能影響外觀的styles.xml中的任何特定內容。 – john13th 2013-05-08 16:21:37