Voici le thème de mon application: <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
J'ai eu une erreur de gonflement causée par le fait de ne pas utiliser le thème souhaité. Dans le Manifest
je n'ai pas écrasé le thème de l'activité pour laquelle j'ai eu cette erreur, donc l'AppTheme a trouvé dans styles.xml
est utilisé.
Erreur:
Android.view.InflateException: Binary XML file line #122: Binary XML file line #122: Error inflating class com.google.Android.material.textfield.TextInputLayout
Caused by: Android.view.InflateException: Binary XML file line #122: Error inflating class com.google.Android.material.textfield.TextInputLayout
Caused by: Java.lang.reflect.InvocationTargetException
at Java.lang.reflect.Constructor.newInstance0(Native Method)
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:334)
at Android.view.LayoutInflater.createView(LayoutInflater.Java:647)
...
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:807)
Caused by: Java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant).
at com.google.Android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.Java:240)
at com.google.Android.material.internal.ThemeEnforcement.checkMaterialTheme(ThemeEnforcement.Java:215)
at com.google.Android.material.internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.Java:143)
at com.google.Android.material.internal.ThemeEnforcement.obtainTintedStyledAttributes(ThemeEnforcement.Java:116)
Et voici mon xml:
<com.google.Android.material.textfield.TextInputLayout
Android:id="@+id/inputFirstName"
style="@style/EditText.OutlinedBox"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginStart="16dp"
Android:layout_marginTop="10dp"
Android:layout_marginEnd="16dp"
Android:visibility="gone"
app:boxStrokeColor="@color/colorBrand"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
et le style EditText:
<style name="EditText.OutlinedBox" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="Android:minHeight">56dp</item>
<item name="Android:textSize">18sp</item>
<item name="Android:fontFamily">@font/nunito_regular</item>
<item name="Android:textColorHint">@color/colorTextSecondary</item>
<item name="hintTextColor">@color/colorBrand</item>
<item name="hintEnabled">true</item>
</style>
sdk cible de l'application est 29 et j'utilise material_design_components_version = '1.1.0-alpha08'
ÉDITER:
de app/gradle
implementation(
"androidx.appcompat:appcompat:$appcompat_version",
"androidx.constraintlayout:constraintlayout:$constraintlayout_version",
"com.google.Android.material:material:$material_design_components_version"
)
Manifeste:
<application
Android:name=".application.BaseApplication"
Android:allowBackup="true"
Android:icon="@mipmap/ic_launcher"
Android:label="@string/app_name"
Android:roundIcon="@mipmap/ic_launcher_round"
Android:supportsRtl="true"
Android:theme="@style/AppTheme"
Android:usesCleartextTraffic="true">
Thème:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="Android:windowLightStatusBar">true</item>
<item name="Android:fontFamily">@font/nunito_regular</item>
<item name="Android:lineSpacingExtra">0dp</item>
<item name="Android:includeFontPadding">false</item>
<item name="navigationIcon">@drawable/ic_back_dark</item>
<item name="Android:windowBackground">@color/colorWhite</item>
<item name="bottomSheetDialogTheme">@style/AppBottomSheetDialogTheme</item>
</style>
Je fais face au même problème. Le problème vient de la version matérielle. essayez de changer votre version alpha06 et cela devrait le corriger.
implementation 'com.google.Android.material:material:1.1.0-alpha06'