Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
562 views
in Technique[技术] by (71.8m points)

android - Using AppCompat 'layout_behavior' with '@string/appbar_scrolling_view_behavior' throws exception

I have a strange probem using the AppCompat Lib 22.2 with the new introduced: layout_behavior

If i use it with the value "@string/appbar_scrolling_view_behavior" , as described here Android Design Support Lib the application terminates with the following exception:

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

If i change to :

app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior"

everything works fine.

What i'm missing ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

For others who encounter this exception and use proguard - you need to add following proguard rules:

-keep class android.support.design.widget.** { *; }
-keep interface android.support.design.widget.** { *; }
-dontwarn android.support.design.**

or if you don't want to keep all of the design library components you can use:

-keepattributes *Annotation*
-keep public class * extends android.support.design.widget.CoordinatorLayout.Behavior { *; }
-keep public class * extends android.support.design.widget.ViewOffsetBehavior { *; }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...