2011-06-15 45 views
1

首先,我想說我試圖(而且大多成功)使用純粹的XML爲造型目的。Android的默認選擇綠色通過透明的背景視圖顯示

我是一個列表視圖,顯示標準的文本視圖。 Everyhting正在工作,包括我定製的xml定義的drawables。

除了我清晰的「按鈕」變成綠色透明的地方,就像android 2.2的默認設置一樣。有什麼方法可以覆蓋這個?

下面附加的是按鈕的可繪製代碼。頂部顏色漸變是堅實的,底部是100%透明的。

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

    <item android:state_pressed="true" > 
     <shape> 
      <gradient 
       android:startColor="@color/butttop" 
       android:endColor="@color/buttbot" 
       android:angle="270" 
       android:dither="true" 
       /> 
      <!-- <stroke 
       android:width="1dp" 
       android:color="@color/stroke2" />--> 
      <corners 
       android:radius="20dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 

    <item android:state_focused="true" > 
     <shape> 
      <gradient 
       android:endColor="@color/focustop" 
       android:startColor="@color/focusbot" 
       android:angle="270" /> 
      <!--<stroke 
       android:width="1dp" 
       android:color="@color/stroke1" />--> 
      <corners 
       android:radius="20dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 

    <item>   
     <shape> 
      <gradient 
       android:endColor="@color/butttop" 
       android:startColor="@color/buttbot" 
       android:angle="90" /> 
      <!--<stroke 
       android:width="1dp" 
       android:color="@color/stroke1" />--> 
      <corners 
       android:radius="20dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 
</selector> 

接下來是與他們有關的風格,incase其需要。 *注意:menubutt是上述文件的名稱。

<style name="DrawerItems1"> 
    <item name="android:textSize">16px</item>  
    <item name="android:textColor">#FFFFFF</item> 
    <item name="android:shadowColor">#000000</item> 
    <item name="android:shadowDx">1</item> 
    <item name="android:shadowDy">1</item> 
    <item name="android:shadowRadius">3</item> 
    <item name="android:typeface">sans</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:background">@drawable/menubutt</item> 
</style> 

回答

0

https://stackoverflow.com/a/6201407/924939處找到答案。適用於我。

你必須在ListView中設置android:listSelector =「@ drawable/listcolor」

然後定義一個透明純色命名listcolor.xml被拉伸(或任何你需要的),使列表項的背景就會出現,默認綠色或橙色的顏色就會消失:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#00000000"/> 
</shape> 

這也可能必須與ListView中的以下代碼混合使用:

android:cacheColorHint="@color/transparent" 
android:background="@color/transparent"