問(wèn)題描述
我的應(yīng)用使用 Theme.Holo.Light.DarkActionBar
作為父主題.
My app uses Theme.Holo.Light.DarkActionBar
as the parent theme.
當(dāng)我使用我的 Android 3.2 平板電腦模擬器時(shí),幾乎看不到 EditText 形狀.看起來(lái)它正在嘗試在白色上繪制白色.在這里看到:
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:
當(dāng)我在我的 Android 4.0 平板電腦模擬器上使用它時(shí),EditText 形狀看起來(lái)還不錯(cuò).您可以看到沿 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" />
風(fēng)格如下:
<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 繪制的顏色錯(cuò)誤?我沒(méi)有覆蓋繪圖代碼或背景可繪制對(duì)象.
Why is my EditText getting drawn the wrong color? I'm not overriding the drawing code or the background drawable.
推薦答案
其他答案實(shí)際上并不能解決我的問(wèn)題,我從未弄清楚是什么真正導(dǎo)致了問(wèn)題.然而,這就是我解決它的方法:我的解決方法是從 Ice Cream Sandwich 復(fù)制 EditText 小部件的 .9.pngs 和樣式,然后硬編碼到我的 Honeycomb 和 Ice Cream Sandwich 應(yīng)用程序中.
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.
我創(chuàng)建了一個(gè)名為 res/drawable-nodpi/edit_text_holo_light.xml 的文件,其中包含以下內(nèi)容:
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中創(chuàng)建了一個(gè)樣式來(lái)設(shè)置:
Then I created a style in my styles.xml to set:
<item name="android:background">@drawable/edit_text_holo_light</item>
然后我從 android sdk 中復(fù)制了 .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.
這篇關(guān)于android EditText 融入背景的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!