android EditText se funde en el fondo
android-edittext android-3.0-honeycomb (3)
Mi aplicación utiliza Theme.Holo.Light.DarkActionBar
como tema principal.
Cuando uso mi emulador de tableta Android 3.2, la forma EditText es casi imposible de ver. Parece que está tratando de dibujar blanco sobre blanco. Visto aquí:
Cuando lo uso en mi emulador de tableta Android 4.0, la forma EditText se ve muy bien. Puede ver la línea gris oscuro en la parte inferior de EditText. Si miras la imagen de arriba, apenas verás una línea blanca en el mismo lugar cuando cruza la marca de agua de fondo gris claro.
Aquí está mi EditText en el diseño:
<EditText
android:id="@+id/fieldName"
style="@style/PlayerDetails.Field"
android:capitalize="words" />
Y aquí está el estilo:
<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>
¿Por qué mi EditText se dibuja en el color incorrecto? No estoy anulando el código de dibujo o el fondo dibujable.
Descubro mi problema. Al configurar el tema en el elemento de la aplicación android:theme="@android:style/Theme"
en el archivo manifest.xml.
<application
android:label="@string/app_name"
android:icon="@drawable/logo"
android:vmSafeMode="false"
android:theme="@android:style/Theme">
Prueba esto.
Las otras respuestas no fueron en realidad soluciones a mi problema y nunca supe lo que REALMENTE estaba causando el problema. Sin embargo, así es como lo resolví: mi solución fue copiar los .9.pngs y el estilo del widget EditText de Ice Cream Sandwich y codificarlos en mi aplicación para Honeycomb y Ice Cream Sandwich.
EDITAR:
Creé un archivo llamado res / drawable-nodpi / edit_text_holo_light.xml con lo siguiente:
<?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>
Luego creé un estilo en mi styles.xml para establecer:
<item name="android:background">@drawable/edit_text_holo_light</item>
Luego copié los archivos .9.png del sdk android y los puse en res / drawable- *. Los nombres de archivo se enumeran en el xml anterior.
Puedes tener una barra de acciones y seguir viendo la marca de fondo de fondo gris claro EditText
si usas los temas siguientes:
AndroidManifest.xml
<activity
android:name=".ClassName"
android:label="ClassName"
android:theme="@style/MyTheme" >
styles.xml
<resources>
<style name="MyTheme" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="android:Widget.Holo.ActionBar">
<item name="android:background">@color/black</item>
</style>
</resources>
Esto funciona para el tema "android: Theme.Holo.Light" pero no para el tema "android: Theme.Holo".