J'ai un EditText inclus dans un TextInputLayout. Je souhaite afficher des erreurs sous EditText, mais alignées à l'extrémité droite de l'écran.TextInputLayout Erreur aligner à droite
C'est ce que j'ai actuellement:
L'erreur est affiché comme ceci:
Mon XML est la suivante:
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_email"
style="@style/forgot_pass_text_inputlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_enter_email_message"
android:layout_marginTop="@dimen/email_padding_top"
android:hintTextAppearance="@{forgotPasswordVM.hintTextAppearance}"
android:theme="@style/forgot_pass_til_state"
app:error="@{forgotPasswordVM.email.textInputError}">
<EditText
android:id="@+id/actv_email"
style="@style/forgot_pass_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/email_address"
android:imeActionId="@+id/btn_submit"
android:imeOptions="actionSend"
android:inputType="textEmailAddress"
android:maxLines="1"
android:onEditorAction="@{forgotPasswordVM.onEditorAction}"
android:singleLine="true"
app:binding="@{forgotPasswordVM.email.text}" />
</android.support.design.widget.TextInputLayout>
Je suis utilisant la liaison de données.
J'ai essayé de définir android:gravity="right"
et android:layout_gravity="right"
à la fois sur EditText et TextInputLayout. Ni fonctionne comme je le veux.
J'ai essayé de régler la gravité dans le thème ainsi que le style. Aucun effet sur l'erreur.
J'ai essayé la gravité juste sur le style qui est appliqué dans app:errorTextAppearance="@style/right_error"
. Même cela ne fonctionne pas.
J'ai essayé par programmation de déplacer l'erreur vers la droite en utilisant un SpannableStringBuilder avec un AlignmentSpan suivant this link. Même cela ne fonctionne pas pour moi.
Je ne sais pas quoi d'autre à essayer. Veuillez suggérer.
Vous pouvez essayer d'utiliser l'une des options de [ma réponse ici] (http://stackoverflow.com/a/40706872) pour obtenir l'erreur 'TextView', et appeler' setGravity (Gravity.RIGHT) ' . Je ne l'ai pas testé, mais IIRC, l'erreur 'TextView' a une largeur' match_parent', donc il devrait aligner son texte comme vous le décrivez. –