android.view.InflateException:二进制XML文件行#29:错误膨胀类android.support.design.widget.FloatingActionButton

时间:2016-09-13 09:52:52

标签: java android xml android-studio

我在活动中使用了tab布局,viewpager和多个FloatingActionButton,但是当在android 4.3中运行时强但在android 6中运行没有错误,如何解决问题?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fab="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">


<android.support.design.widget.TabLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tabLayout"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:background="#80dd95"
    app:tabMode="fixed"
    app:tabGravity="fill"/>

<android.support.v4.view.ViewPager
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/viewPager"
    android:layout_below="@+id/tabLayout"
    android:layout_centerHorizontal="true" />

<com.getbase.floatingactionbutton.FloatingActionsMenu
    android:id="@+id/multiple_actions"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    fab:fab_addButtonColorNormal="@color/pink"
    fab:fab_addButtonColorPressed="@color/white_pressed"
    fab:fab_addButtonPlusIconColor="@color/half_black"
    fab:fab_labelStyle="@style/menu_labels_style"
    android:layout_marginBottom="16dp"
    android:layout_marginRight="16dp"
    android:layout_marginEnd="16dp">


    <com.getbase.floatingactionbutton.FloatingActionButton
        android:id="@+id/action_b"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        fab:fab_colorNormal="@color/white"
        android:src="@drawable/chat"
        fab:fab_title="ارسال نظر"
        fab:fab_colorPressed="@color/white_pressed"/>
    <com.getbase.floatingactionbutton.FloatingActionButton
        android:id="@+id/action_c"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        fab:fab_colorNormal="@color/white"
        fab:fab_title="خرید"
        fab:fab_colorPressed="@color/white_pressed"
        android:src="@drawable/shopp"/>

</com.getbase.floatingactionbutton.FloatingActionsMenu>

在android 4.3中运行时出错

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.glorystone.mojtaba.gol/com.glorystone.mojtaba.gol.Detail3}: android.view.InflateException: Binary XML file line #29: Error inflating class android.support.design.widget.FloatingActionButton
                                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
                                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
                                                                          at android.app.ActivityThread.access$600(ActivityThread.java:141)
                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
                                                                          at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                          at android.os.Looper.loop(Looper.java:137)
                                                                          at android.app.ActivityThread.main(ActivityThread.java:5103)
                                                                          at java.lang.reflect.Method.invokeNative(Native Method)
                                                                          at java.lang.reflect.Method.invoke(Method.java:525)
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
                                                                          at dalvik.system.NativeStart.main(Native Method)
                                                                       Caused by: android.view.InflateException: Binary XML file line #29: 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 android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                                                                          at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
                                                                          at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                                                                          at com.glorystone.mojtaba.gol.Detail3.onCreate(Detail3.java:45)
                                                                          at android.app.Activity.performCreate(Activity.java:5133)
                                                                          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
                                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
                                                                          at android.app.ActivityThread.access$600(ActivityThread.java:141) 
                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
                                                                          at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                          at android.os.Looper.loop(Looper.java:137) 
                                                                          at android.app.ActivityThread.main(ActivityThread.java:5103) 
                                                                          at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                          at java.lang.reflect.Method.invoke(Method.java:525) 
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
                                                                          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:417)
                                                                          at android.view.LayoutInflater.createView(LayoutInflater.java:594)
                                                                          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 android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
                                                                          at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
                                                                          at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
                                                                          at com.glorystone.mojtaba.gol.Detail3.onCreate(Detail3.java:45) 
                                                                          at android.app.Activity.performCreate(Activity.java:5133) 
                                                                          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
                                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
                                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
                                                                          at android.app.ActivityThread.access$600(ActivityThread.java:141) 
                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
                                                                          at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                          at android.os.Looper.loop(Looper.java:137) 
                                                                          at android.app.ActivityThread.main(ActivityThread.java:5103) 
                                                                          at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                          at java.lang.reflect.Method.invoke(Method.java:525) 
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
                                                                          at dalvik.system.NativeStart.main(Native Method) 
                                                                       Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f02004f a=-1 r=0x7f02004f}
                                                                          at android.content.res.Resources.loadDrawable(Resources.java:2063)
                                                                          at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
                                                                          at android.widget.ImageView.<init>(ImageView.java:127)
                                                                          at android.widget.ImageButton.<init>(ImageButton.java:87)
                                                                          at android.support.design.widget.VisibilityAwareImageButton.<init>(VisibilityAwareImageButton.java:36)
                                                                          at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:114)
                                                                          at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:110)
                                                                          at java.lang.reflect.Constructor.constructNative(Native Method) 
                                                                          at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
                                                                          at android.view.LayoutInflater.createView(LayoutInflater.java:594) 
                                                                          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 android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
                                                                          at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
                                                                          at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
                                                                          at com.glorystone.mojtaba.gol.Detail3.onCreate(Detail3.java:45) 
                                                                          at android.app.Activity.performCreate(Activity.java:5133) 
                                                                          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
                                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
                                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
                                                                          at android.app.ActivityThread.access$600(ActivityThread.java:141) 
                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
                                                                          at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                          at android.os.Looper.loop(Looper.java:137) 
                                                                          at android.app.ActivityThread.main(ActivityThread.java:5103) 
                                                                          at java.lang.reflect.Method.invokeNative(Native Method) 

public class Detail3 extends AppCompatActivity实现了View.OnClickListener {

TabLayout tabLayout;
ViewPager viewPager;
public int post_ID;
final String TAG = "Detail3";
private Boolean isFabOpen = false;
private FloatingActionButton fab,fab1,fab2;
private Animation fab_open,fab_close,rotate_forward,rotate_backward;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detail3);
    final View actionB=findViewById(R.id.action_b);
    final View actionc=findViewById(R.id.action_c);
    actionc.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(getApplicationContext(),"این قابلیت در نسخه بعدی   فعال خواهد شد",Toast.LENGTH_LONG).show();

        }
    });
    actionB.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            showInputDialog();
        }
    });

1 个答案:

答案 0 :(得分:0)

检查项目build.gradle文件中是否编译'com.android.support:design:23.0.1'

版本应为23及以上

只需替换

<android.support.design.widget.FloatingActionButton 
    ...
    ...
    android:backgroundTint

    />

<android.support.design.widget.FloatingActionButton 
...
...
app:backgroundTint
/>

反之亦然