2017-10-01 9 views
0

나는 활동에서 조각에 내 FAB을 가하고있어하지 않으며이 오류가 점점 계속 :은 어떻게 활동에서 조각의 FAB 작업을하고 AppCompatActivity

10-01 21:01:55.238 22031-22031/com.vei.scanandgo E/AndroidRuntime: 
FATAL EXCEPTION: main 
Process: com.vei.scanandgo, PID: 22031 
android.view.InflateException: Binary XML file line #408: Error inflating class android.support.design.widget.FloatingActionButton 
    at android.view.LayoutInflater.createView(LayoutInflater.java:620) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
    at com.vei.scanandgo.BaseFragment.storeView(BaseFragment.java:317) 
. . . 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) 
    at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.reflect.InvocationTargetException 
    at java.lang.reflect.Constructor.constructNative(Native Method) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
. . . 
. ... 
    at java.lang.reflect.Method.invoke(Method.java:515)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)  
    at dalvik.system.NativeStart.main(Native Method)  
    Caused by: java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library. 
    at android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:33) 
    at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:159) 
    at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:153) 
. . 
. .. 

Gradle을가

로 설정을
compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support:design:25.3.1' 
는 팽창에 의해 이루어집니다

: 나는이 변경되지 않은

View mView = inflater.inflate(getlayoutResId(), container, false); 

있는 유일한 방법은 AppCompatActivity로 활동하다 기존 코드가 많이 손상됩니다. 이 FAB을 활동과 함께 사용할 수있는 방법이 있습니까?

FAB :

<android.support.design.widget.FloatingActionButton 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="16dp" 
    android:src="@drawable/pichere" 
    app:backgroundTint="@color/white" 
    app:borderWidth="0dp" /> 

감사합니다!

내가 잘못된 설계를하는 경우 FAB 작업으로이 조각을 만들 수있는 다른 방법을 조언하십시오.

답변

0

Do we have a way to make this FAB work with Activity?

직접적으로. android.support.design.widget.FloatingActionButtonAppCompatActivityTheme.AppCompat이 필요합니다.

나는 정기적 Activity (또는 FragmentActivity)와 함께 작동 this library에서 해당 위젯의 크로스 포트를 가지고 있지만, 그것은 Theme.Material을 필요로 21 이상의 minSdkVersion입니다.

appcompat-v7을 필요로하지 않으며 Theme.Material을 필요로하지 않는 과 같은 다른 FAB 구현이 있습니다.