Je veux intégrer Android.support.design.widget.TextInputLayout
Dans mon Android. J'ai copié le fichier jar Android-support-design.jar du sdk dans le dossier lib de mes applications. J'ai ajouté le code ci-dessous dans mon fichier xml pour le Email EditText,
<!-- Email Label -->
<Android.support.design.widget.TextInputLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="8dp"
Android:layout_marginBottom="8dp">
<EditText Android:id="@+id/input_email"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:inputType="textEmailAddress"
Android:hint="Email" />
</Android.support.design.widget.TextInputLayout>
En ajoutant ce code dans mon fichier layout.xml, je reçois une erreur comme,
Exception raised during rendering: com.Android.layoutlib.bridge.MockView cannot be cast to Android.view.ViewGroup
Exception details are logged in Window > Show View > Error Log
The following classes could not be instantiated:
- Android.support.design.widget.TextInputLayout (Open Class, Show Error Log)
See the Error Log (Window > Show View) for more details.
Comment puis-je résoudre ce problème ...
Si vous utilisez AndroidStudio, vous ne devez pas inclure Android-support-design.jar. Au lieu de cela, écrivez comme ci-dessous dans votre build.gradle:
dependencies {
...
compile 'com.Android.support:design:24.0.0'
...
}
Edit: Si cela ne fonctionne pas, vous utilisez probablement une version différente. Sous Windows, accédez à:
[Android-sdk]\extras\Android\m2repository\com\Android\support\design
Sur Mac:
sdk/extras/Android/m2repository/com/Android/support/design
Ce répertoire contient un certain nombre de dossiers de version. Utilisez la dernière version sur votre build.gradle.
remplacer
Android.support.design.widget.TextInputLayout
avec
com.google.Android.material.textfield.TextInputLayout
La dépendance que vous utilisez fait partie de la bibliothèque de support Android Android qui est désormais obsolète et n'est plus prise en charge par Google. Utilisez plutôt ceci:implementation 'com.google.Android.material:material:<version>'
et remplacez <version>
avec la dernière version de Maven Repository de Google ou MVN Repository
Vous pourriez peut-être en savoir plus d'ici Mise en route
J'ai eu un problème similaire, remplacez le modèle de conception TextInputLayout par ci-dessous résolu pour moi:
com.google.Android.material.textfield.TextInputLayout
ajoutez le build.gradle en suivant cette ligne:
implementation 'com.Android.support:design:28.0.0'
et utiliser dans le fichier xml:
<com.google.Android.material.textfield.TextInputLayout
Android:id="@+id/inputLayoutMobile"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginLeft="@dimen/dimen_20dp"
Android:layout_marginRight="@dimen/dimen_20dp"
Android:hint="@string/phone_number"
Android:visibility="gone"
Android.support.design:layout_constraintTop_toBottomOf="@+id/inputLayoutAppServerUrl">
<com.google.Android.material.textfield.TextInputEditText
Android:id="@+id/edtTxtMobile"
style="@style/Style_TextView"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:drawableLeft="@drawable/ic_smartphone"
Android:drawablePadding="@dimen/dimen_10dp"
Android:inputType="number"
Android:singleLine="true"
Android:scrollbars="vertical"
Android:text="@={SettingViewModel.mMobileNo}"
Android:textSize="@dimen/font_13sp" />
</com.google.Android.material.textfield.TextInputLayout>
Vous vous trompez en donnant id donne id à TextInputLayout