問題描述
我的應用使用 Theme.Holo.Light.DarkActionBar
作為父主題.
My app uses Theme.Holo.Light.DarkActionBar
as the parent theme.
當我使用我的 Android 3.2 平板電腦模擬器時,幾乎看不到 EditText 形狀.看起來它正在嘗試在白色上繪制白色.在這里看到:
When I use my Android 3.2 tablet emulator, the EditText shape is almost impossible to see. It looks like it is trying to draw white on white. Seen here:
當我在我的 Android 4.0 平板電腦模擬器上使用它時,EditText 形狀看起來還不錯.您可以看到沿 EditText 底部的深灰色線.如果您查看上圖,您將在與淺灰色背景水印相交的同一位置幾乎看不到一條白線.
When I use it on my Android 4.0 tablet emulator, the EditText shape looks just fine. You can see the dark grey line along the bottom of the EditText. If you look in the above image, you'll just barely see a white line in the same place as it crosses the light grey background watermark.
這是我在布局中的 EditText:
Here is my EditText in the layout:
<EditText
android:id="@+id/fieldName"
style="@style/PlayerDetails.Field"
android:capitalize="words" />
風格如下:
<style name="PlayerDetails.Field">
<item name="android:layout_weight">0.65</item>
<item name="android:paddingLeft">10dp</item>
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:layout_marginLeft">10dp</item>
</style>
為什么我的 EditText 繪制的顏色錯誤?我沒有覆蓋繪圖代碼或背景可繪制對象.
Why is my EditText getting drawn the wrong color? I'm not overriding the drawing code or the background drawable.
推薦答案
其他答案實際上并不能解決我的問題,我從未弄清楚是什么真正導致了問題.然而,這就是我解決它的方法:我的解決方法是從 Ice Cream Sandwich 復制 EditText 小部件的 .9.pngs 和樣式,然后硬編碼到我的 Honeycomb 和 Ice Cream Sandwich 應用程序中.
The other answers weren't actually solutions to my problem and I never figured out what was REALLY causing the issue. However, this is how I solved it: My workaround was to copy the .9.pngs and styling for the EditText widget from Ice Cream Sandwich and hardcoded into my app for Honeycomb and Ice Cream Sandwich.
我創建了一個名為 res/drawable-nodpi/edit_text_holo_light.xml 的文件,其中包含以下內容:
I created a file called res/drawable-nodpi/edit_text_holo_light.xml with the following:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_multiline="true" android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/textfield_multiline_default_holo_light" />
<item android:state_multiline="true" android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/textfield_multiline_disabled_holo_light" />
<item android:state_multiline="true" android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_multiline_activated_holo_light" />
<item android:state_multiline="true" android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/textfield_multiline_focused_holo_light" />
<item android:state_multiline="true" android:state_enabled="true" android:drawable="@drawable/textfield_multiline_default_holo_light" />
<item android:state_multiline="true" android:state_focused="true" android:drawable="@drawable/textfield_multiline_disabled_focused_holo_light" />
<item android:state_multiline="true" android:drawable="@drawable/textfield_multiline_disabled_holo_light" />
<item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/textfield_default_holo_light" />
<item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/textfield_disabled_holo_light" />
<item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_activated_holo_light" />
<iten android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/textfield_focused_holo_light" />
<item android:state_enabled="true" android:drawable="@drawable/textfield_default_holo_light" />
<item android:state_focused="true" android:drawable="@drawable/textfield_disabled_focused_holo_light" />
<item android:drawable="@drawable/textfield_disabled_holo_light" />
</selector>
然后我在我的styles.xml中創建了一個樣式來設置:
Then I created a style in my styles.xml to set:
<item name="android:background">@drawable/edit_text_holo_light</item>
然后我從 android sdk 中復制了 .9.png 文件并將它們放入 res/drawable-* 中.文件名列在上面的 xml 中.
Then I copied the .9.png files from the android sdk and put them in res/drawable-*. The filenames are listed in the above xml.
這篇關于android EditText 融入背景的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!