切换到AndroidX后,TextInputLayout.Outlined出现膨胀错误

4

在切换到AndroidX并启用style/Widget.MaterialComponents.TextInputLayout.OutlinedBox后,出现了错误:无法膨胀类android.support.design.widget.TextInputLayout

大家好,今天我将我的项目切换到Androidx(需要一个新的库),但是我遇到了关于TextInputLayout的错误。

请注意,当我删除了OulinedBox样式时,它可以完美编译,但我绝对需要它来完成这个项目。

是否有人知道如何让OulinedBox TextInputLayout样式与AndroidX一起使用?

非常感谢您的帮助和时间。

<android.support.design.widget.TextInputLayout
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginHorizontal="60dp"
    android:layout_marginTop="20dp"
    app:boxStrokeColor="@color/gradient_begin_purple">

    <com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/login"
        android:textSize="20dp" />
</android.support.design.widget.TextInputLayout>

嘿,我遇到了这个问题,但还没有解决。你找到解决方法了吗? - aligur
4个回答

5

我遇到了这个问题。我尝试了stackoverflow上提供的所有方法,但不幸的是没有找到任何解决办法。最后我找到了我错过的地方。

1)您的应用程序主题必须如下所示(在values和values-21文件夹中)

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">

2)在您的manifest.xml中将活动主题设置为AppTheme

<activity
            android:name=".ui.activities.SplashActivity"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme"

1
感谢将<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 替换为 <style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar"> 这一步对我很有用。也就是说,将AppCompat替换为MaterialComponents。 - user1090751

2
在支持设计库的位置上添加implementation "com.google.android.material:material:1.1.0-alpha02"。 在替换之后,对我来说完美地工作。

你好。感谢你的帮助,但我已经在我的build.gradle文件中有这个了。我通过删除这一行并将其替换为“implementation 'com.android.support:design:28.0.0'”来解决问题,就像我在转移到AndroidX之前做的一样。无论如何,还是非常感谢你 :) - LNTK

0

我猜你之所以出现错误,是因为你混合使用了支持设计库和材料组件库。

请将 android.support.design.widget.TextInputLayout 替换为 com.google.android.material.textfield.TextInputLayout


0

请检查您的Drawable资源,是否在drawable-v21中缺失。如果您在低于23版本的调试时崩溃了,那么这可能是原因。

See Missing resource Show Error


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接