And*_*sen 31 android android-appcompat
我有一个奇怪的探测器使用AppCompat Lib 22.2和新引入的:layout_behavior
如果我使用值"@ string/appbar_scrolling_view_behavior",如此处所述Android Design Support Lib,应用程序将终止,但会出现以下异常:
Could not inflate Behavior subclass android.support.design.widget.Settings
Caused by: java.lang.RuntimeException: Could not inflate Behavior subclass android.support.design.widget.Settings
Caused by: java.lang.ClassNotFoundException: android.support.design.widget.Settings
Caused by: java.lang.NoClassDefFoundError: android/support/design/widget/Settings
Caused by: java.lang.ClassNotFoundException: android.support.design.widget.Settings
Run Code Online (Sandbox Code Playgroud)
如果我改为:
app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior"
Run Code Online (Sandbox Code Playgroud)
一切正常.
我错过了什么?
Nat*_*ein 56
对于遇到此异常并使用proguard的其他人 - 您需要添加以下proguard规则:
-keep class android.support.design.widget.** { *; }
-keep interface android.support.design.widget.** { *; }
-dontwarn android.support.design.**
Run Code Online (Sandbox Code Playgroud)
或者如果您不想保留所有可以使用的设计库组件:
-keepattributes *Annotation*
-keep public class * extends android.support.design.widget.CoordinatorLayout.Behavior { *; }
-keep public class * extends android.support.design.widget.ViewOffsetBehavior { *; }
Run Code Online (Sandbox Code Playgroud)
fas*_*t3r 37
发生这种情况的另一个原因是当你扩展FloatingActionButton.Behavior并且你没有(Context,AttributeSet)构造函数时.设计库v.23.0.1发生在我身上
只需将此构造函数添加到您的子类:
public FloatingActionButtonBehaviorSubclass(Context context, AttributeSet attrs) {
super();
}
Run Code Online (Sandbox Code Playgroud)
che*_*upt 23
您应该为项目添加设计库.
compile 'com.android.support:design:22.2.0'
Run Code Online (Sandbox Code Playgroud)
查看示例https://github.com/chrisbanes/cheesesquare
| 归档时间: |
|
| 查看次数: |
43970 次 |
| 最近记录: |