studio - poner fotos en videos android
El estilo de edición de texto de Android a nivel global en tema no funciona (5)
Me enfrento con el problema. Estoy tratando de hacer que los textos de edición en mi aplicación tengan el mismo aspecto con la ayuda del tema.
He generado estilos con la ayuda de herramientas en línea (imágenes de 9 parches) y he intentado configurarlo en mi tema como este
<!-- Base application theme. -->
<style name="DefaultAppTheme" parent="Theme.AppCompat">
<!-- Main theme colors -->
<!-- your app branding color for the app bar -->
<item name="colorPrimary">@color/blue</item>
<!-- darker variant for the status bar and contextual app bars -->
<item name="colorPrimaryDark">@color/darkblue</item>
<!-- theme UI controls like checkboxes and text fields -->
<item name="colorAccent">@color/cornflowerblue</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:editTextStyle">@style/EditTextDefault</item>
</style>
Mi estilo para editar texto
<style name="EditTextDefault" parent="android:Widget.EditText">
<item name="android:background">@drawable/edit_text_holo_light</item>
<item name="android:textColor">@color/light_blue</item>
<item name="android:layout_marginLeft">@dimen/margin_edit_text_default</item>
<item name="android:layout_marginRight">@dimen/margin_edit_text_default</item>
<item name="android:layout_marginTop">@dimen/margin_edit_text_default</item>
</style>
Pero esto no funciona si se usa el texto de edición sin especificar el estilo manualmente para cada texto de edición.
Esto no funciona
<EditText
android:id="@+id/edit_text_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/edit_text_password"
android:hint="@string/hint_enter_login"
android:inputType="textEmailAddress" />
Esto funciona
<EditText
android:id="@+id/edit_text_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/edit_text_password"
style="@style/EditTextDefault"
android:hint="@string/hint_enter_login"
android:inputType="textEmailAddress" />
Sé que layout_ * params no afectará si se usan en el tema, pero otros atributos deberían funcionar.
Por favor ayuda con este problema.
Que debes hacer
Use este @android:style/Widget.EditText
lugar de parent="android:Widget.EditText"
. Espero que le parent="android:Widget.EditText"
ayuda.
Por favor, lea esta respuesta SO Establecer un estilo coherente para todos EditText
<style name="EditTextDefault" parent="@android:style/Widget.EditText">
Además de arreglar la referencia al Widget.EditText:
<style name="EditTextDefault" parent="@android:style/Widget.EditText">
Necesitas crear un "tema" y aplicarlo en tu manifiesto. Me gusta esto:
<application
...
android:theme="@android:style/DefaultAppTheme" >
</application>
Si está usando appcompat> v22, puede intentar usar
<style name="EditText.Colored" parent="Theme.AppCompat">
<item name="colorControlNormal">@color/colorNormal</item>
<item name="colorControlActivated">@color/colorActivated</item>
<item name="colorControlHighlight">@color/colorControlHighlight</item>
</style>
y en su layout.xml establezca la propiedad de android: theme para el edittext
<EditText
android:id="@+id/edit_text_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/edit_text_password"
android:theme="@style/EditText.Colored"
android:hint="@string/hint_enter_login"
android:inputType="textEmailAddress" />
Usa tu style.xml para obtener un buen tema con el cursor lite
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="android:style/Theme.Holo.Light"> <!-- Customize your theme here. --> </style> <style name="NoActionBar" parent="android:style/Theme.Holo.Light.NoActionBar"> <!-- Customize your theme here. --> </style> <style name="FullScreen" parent="android:style/Theme.Holo.Light.NoActionBar.Fullscreen"> <!-- Customize your theme here. --> </style> </resources>
Add this in your Style.xml
If this answer is not satisfied you can edit or ask me for delete
en lugar de esto..
<item name="android:editTextStyle">@style/EditTextDefault</item>
utilizar esta..
<item name="editTextStyle">@style/EditTextDefault</item>