2014-02-06 43 views
1

我想刪除我在android 4上看到的editText默認透明度。
我已經嘗試在v11和v14文件夾中解決alpha = 1的樣式問題。
但這不起作用。刪除android上的editText透明度4

這是我的styles.xml:

<resources> 

<style name="AppBaseTheme" parent="android:Theme.Holo.Light"> 
    <!-- API 11 theme customizations can go here. --> 
    <item name="android:editTextStyle">@style/MyEditText</item> 
</style> 

<style name="MyEditText" parent="android:Widget.EditText"> 
    <item name="android:alpha">1.0</item> 
</style> 

(風格API 14是一樣的)

回答

1

你必須改變的背景繪製。這是透明的原因是Holo主題的編輯文本背景是基於具有堅實下劃線的9個補丁,而該區域的其餘部分是透明的。

<style name="MyEditText" parent="android:Widget.EditText"> 
    <item name="android:background">@drawable/my_edit_text_background</item> 
</style> 

您需要定義自己的背景繪製,這可能應該是一個狀態列表繪製,因此將取決於它是否處於焦點有所不同。

+0

沒有更好的方法,所以我有相同的editText樣式只是沒有透明度? –

+1

我不確定你的意思是更好的方法。編輯文本的外觀被硬編碼到Android中。沒有硬編碼的不透明版本,所以你必須自己做。這篇文章展示了一種在XML中創建可繪製的樣式的方法,它看起來像相同的樣式,但是您可以將顏色更改爲任何您想要的不透明顏色:http://stackoverflow.com/a/8212093/506796 – Tenfour04

+0

我的意思是修改嵌入式樣式以製作不透明的版本。例如,我們可以調整我們的願望文本顏色到任何主題上的所有文本視圖,是不可能在主題的editTexts背景上設置特定的字母? –