/ / Indice et InputType sur Inclus EditText - android, include, android-edittext

Astuce et InputType sur Inclus EditText - android, include, android-edittext

J'ai une coutume EditText déclarée dans un fichier XML et je "l’inclus comme ceci:

<include layout="@layout/my_edit_text"
android:id="@+id/passwordField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/passwordHint"
android:inputType="textPassword" />

et voici my_edit_text.xml:

<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="0dp"
android:layout_height="0dp"
android:textColor="@color/gray"
android:textSize="@dimen/editTextFontSize"
android:padding="@dimen/editTextPadding"
android:background="@drawable/edit_text_background"
android:ellipsize="end" />

Cependant, je ne peux pas "régler le hint ou inputType De cette façon, pour une raison quelconque. Si je le mets dans my_edit_text.xml, cela fonctionne bien, mais je voudrais pouvoir définir chaque référence individuellement.

La raison pour laquelle j'ai la coutume EditText est d'éviter d'avoir à réécrire toutes les valeurs communes dans chacun de mes EditTexts.

Dois-je faire quelque chose de similaire à ce que cette personne a? Si tel est le cas, devrai-je créer une sous-classe .java et extraire les attributs de cette manière? Cela semble excessif.

Réponses:

3 pour la réponse № 1

La raison pour laquelle j'ai le EditText personnalisé est d'éviter de devoir réécrire toutes les valeurs communes dans chacun de mes EditTexts.

Étape 1: Supprimer my_edit_text.xml.

Étape 2: Supprimer toutes les références à my_edit_text.xml.

Étape n ° 3: Définissez une ressource de style (par exemple, dans res/values/styles.xml) semblable à:

<style name="rileyText">
<item name="android:textColor">@color/gray</item>
<item name="android:textSize">@dimen/editTextFontSize</item>
<item name="android:padding">@dimen/editTextPadding</item>
<item name="android:background">@drawable/edit_text_background</item>
<item name="android:ellipsize">end</item>
</style>

Étape 4: Ajouter style="@style/rileyText" à tous EditText widgets auxquels vous souhaitez appliquer ces attributs particuliers.