web-dev-qa-db-fra.com

Android ne fonctionne pas avec la bibliothèque de support 25?

J'ai implémenté un TextInputLayout avec un champ de mot de passe de la manière habituelle:

<Android.support.design.widget.TextInputLayout
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content">

    <EditText
        Android:id="@+id/returning_password"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:hint="@string/Prompt_password"
        Android:inputType="textPassword"
        Android:maxLines="1"
        Android:textSize="14sp" />

</Android.support.design.widget.TextInputLayout>

Cela a bien fonctionné lors de l'utilisation de la bibliothèque de support Android jusqu'à la version 24.0.2, mais après le passage à 25.0.1:

compile 'com.Android.support:design:25.0.1'
compile 'com.Android.support:support-v4:25.0.1'
compile 'com.Android.support:appcompat-v7:25.0.1'
compile 'com.Android.support:support-vector-drawable:25.0.1'

Je ne vois plus la bascule de visibilité du mot de passe (alias "icône en forme d'œil") dans le widget. Le passage à la dernière version 25.1.0 ne résout pas ce problème.

Y a-t-il quelque chose que j'ai manqué et que je dois changer en combinaison avec la bibliothèque de support 25, ou cela pourrait-il être un problème Android?

11
Cuculus

Essayez-le de cette façon.

<Android.support.design.widget.TextInputLayout
   Android:layout_width="match_parent"
   Android:layout_height="wrap_content"
   app:passwordToggleEnabled="true">

<EditText
    Android:id="@+id/returning_password"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:hint="@string/Prompt_password"
    Android:inputType="textPassword"
    Android:maxLines="1"
    Android:textSize="14sp" />

</Android.support.design.widget.TextInputLayout>

Cela pourrait vous être utile !!

La bascule du mot de passe TextInputLayout est désormais désactivée par défaut pour éviter d'écraser inutilement les tirages d'extrémité spécifiés par le développeur. Il peut être activé manuellement via l'attribut XML passwordToggleEnabled.

Révisions récentes de la bibliothèque de support

28
H.P.

Vous n'avez pas besoin d'ajouter ce qui suit:

app:passwordToggleEnabled="true"

changez simplement votre dépendance en:

compile 'com.Android.support:design:25.0.0'

C'est le même bug que j'ai rencontré également lors de la mise à jour de la dépendance.

Éditer:

Maintenant

app:passwordToggleEnabled="true"

travaille avec,

compile 'com.Android.support:design:25.3.0'
3
Shanky
<Android.support.design.widget.TextInputLayout
   Android:layout_width="match_parent"
   Android:layout_height="wrap_content"
   app:passwordToggleEnabled="true">

application: passwordToggleEnabled = "true">

<EditText
    Android:id="@+id/edt_password"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:hint="Password"
    Android:inputType="textPassword"
    Android:maxLines="1"
    Android:textSize="16sp" />

</Android.support.design.widget.TextInputLayout>

compilez 'com.Android.support:design:25.0.1'

compilez 'com.Android.support:support-v4:25.0.1'

compilez 'com.Android.support:appcompat-v7:25.0.1'

compilez 'com.Android.support:support-vector-drawable:25.0.1'

1
Keshav Gera

si vous utilisez Jetpack alors

ajouter ces dépendances

implementation 'com.google.Android.material:material:1.0.0'

et ajouter app:passwordToggleEnabled="true" en xml et encore une chose, utilisez inputType= textPassword et si vous utilisez plutôt que cela, le bouton bascule ne sera pas affiché.

1
indrajeet jyoti