【问题标题】:Android TabLayout can't be instanciatedAndroid TabLayout 无法实例化
【发布时间】:2022-10-19 15:56:40
【问题描述】:

我在android中的视图中添加了TabLayout。在布局编辑器中,我收到以下通知:

java.lang.IllegalArgumentException: Motion easing theme attribute must be an @interpolator resource for ?attr/motionEasing*Interpolator attributes or a string for ?attr/motionEasing* attributes.
    at com.google.android.material.motion.MotionUtils.resolveThemeInterpolator(MotionUtils.java:74)
    at com.google.android.material.tabs.TabLayout.<init>(TabLayout.java:614)
    at com.google.android.material.tabs.TabLayout.<init>(TabLayout.java:509)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:351)
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:200)
    at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:161)
    at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:294)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:417)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:428)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:332)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1127)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:686)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:505)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:359)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:436)
    at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:121)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:717)
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$9(RenderTask.java:873)
    at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$3.run(RenderExecutor.kt:192)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:829)

当我启动应用程序时,它并没有崩溃,但是我用TabLayoutMediator 添加的TabItems 不可见。

这个错误的原因是什么?

我的 AppTheme 继承自 Theme.Material3.Light.NoActionBar

【问题讨论】:

  • 我认为您使用的是材料:1.8.0-alpha01。降级到 material:1.7.0-rc01 可能会对您有所帮助。
  • 我知道,我在 git 存储库中创建了一个问题

标签: android


【解决方案1】:

如果您使用材料:1.8.0-aplpha01,只需下载材料:1.7.0-rc01 即可解决此问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多