2013-06-03 55 views
1

我想要使用Android Holo.Light主題,並且由於某些原因添加背景圖片時,它會使按鈕看起來非常奇怪並且透明。下面是一個屏幕截圖:Android - 爲什麼背景圖片讓按鈕看起來很奇怪?

enter image description here

會有人知道爲什麼會這樣?它看起來很奇怪。它是這樣的嗎?或者我做錯了什麼?

當我把Light作爲我的主題時,相同的圖像不是透明的。

謝謝!

+0

發生這種情況是因爲默認情況下,在霍洛的按鈕.Light主題有點透明,你必須設置你自己的9個可修補的補丁來消除這個效果。 – hardartcore

回答

2

Holo按鈕的默認設置稍微不透明。只需爲他們設置一個可繪製的背景!

下面是一個帶有1px輪廓的灰色按鈕示例。包括按下的狀態。您將設置該用按鈕 「機器人:背景=」 @繪製/ gray_btn「:

@繪製/ gray_btn.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" > 
    <shape> 
     <solid 
      android:color="#ffffff" 
      /> 
     <stroke 
      android:width="1dp" 
      android:color="#E3E3E3" /> 
     <corners 
      android:radius="4dip" /> 

    </shape> 
</item> 
<item> 
    <shape> 
     <solid 
      android:color="#edeff1" 
      /> 
     <stroke 
      android:width="1dp" 
      android:color="#E3E3E3" /> 
     <corners 
      android:radius="4dip" /> 

    </shape> 
</item> 

+0

謝謝 - 設置使得它不是不透明的顏色?或者是固定的設置? – Genadinik

+0

設置背景爲全部這個主題會自動應用一個drawable,但是你會覆蓋這個行爲,例如,如果你設置了「android:backgroun d =「#00000000」,它將是完全透明的。或者「android:background =」#ffffff「,它將是完全白色的,是的,solid是主要的填充顏色,你也可以做漸變 – Jameo

+0

要查看主題和樣式如何工作,你可以查看這個鏈接http:/ /developer.android.com/guide/topics/ui/themes.html。更多關於可繪製的形狀http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape。僅供參考可以設置任何可繪製的覆蓋這個,包括9補丁 – Jameo