小编eck*_*ckc的帖子

Drawable已经属于另一个所有者,但是没有公开恒定状态

错误:无效的可绘制对象已添加到LayerDrawable中!Drawable已经属于另一个所有者,但是没有公开恒定状态。

我今天突然注意到了这个错误,我不确定是否是因为我刚刚将测试设备更新为Android 8.0。该错误消息清楚地表明,在浮动操作按钮上设置波纹效果有问题,并且在按下按钮时确实没有波纹效果。但是,我不确定是什么导致了此问题。实际上,相同的错误连续两次抛出。任何帮助将非常感激!该应用程序的其余部分仍然可以正常运行,但该错误确实困扰着我。

ps minSdkVersion为22,targetSdkVersion和compiledSdkVersion为27

在MyActivity中,第117行是数据绑定和设置内容视图。

ActivityMyBinding binding = DataBindingUtil.setContentView(
            this, R.layout.activity_my);
Run Code Online (Sandbox Code Playgroud)

这是完整的堆栈跟踪:

W/LayerDrawable: Invalid drawable added to LayerDrawable! Drawable already belongs to another owner but does not expose a constant state.
             java.lang.RuntimeException
                 at android.graphics.drawable.LayerDrawable$ChildDrawable.<init>(LayerDrawable.java:1855)
                 at android.graphics.drawable.LayerDrawable$LayerState.<init>(LayerDrawable.java:1975)
                 at android.graphics.drawable.LayerDrawable.createConstantState(LayerDrawable.java:168)
                 at android.graphics.drawable.LayerDrawable.mutate(LayerDrawable.java:1779)
                 at android.graphics.drawable.LayerDrawable.mutate(LayerDrawable.java:1785)
                 at android.graphics.drawable.RippleDrawable.mutate(RippleDrawable.java:997)
                 at android.view.View.applyBackgroundTint(View.java:21809)
                 at android.view.View.setBackgroundDrawable(View.java:21680)
                 at android.support.design.widget.FloatingActionButton.access$001(FloatingActionButton.java:68)
                 at android.support.design.widget.FloatingActionButton$ShadowDelegateImpl.setBackgroundDrawable(FloatingActionButton.java:824)
                 at android.support.design.widget.FloatingActionButtonLollipop.setBackgroundDrawable(FloatingActionButtonLollipop.java:73)
                 at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:179)
                 at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:151)
                 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 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
                 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
                 at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
                 at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
                 at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
                 at android.view.LayoutInflater.inflate(LayoutInflater.java:374) …
Run Code Online (Sandbox Code Playgroud)

android layerdrawable setcontentview android-databinding

5
推荐指数
2
解决办法
2933
查看次数