Я использую плавающую кнопку действия библиотеки дизайна Android в своем приложении, которое отлично работает в версиях Lollipop и более поздних версиях, но дает сбой в версии до версии Lollipop (4.0-4.2.2). Я действительно застрял и не могу понять проблему.
Ошибка:
ФАТИЧЕСКОЕ ИСКЛЮЧЕНИЕ: main android.view.InflateException: строка двоичного файла XML № 396: ошибка раздувания класса android.support.design.widget.FloatingActionButton в android.view.LayoutInflater.createView (LayoutInflater.java:619 ) на android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:693) на android.view.LayoutInflater.rInflate (LayoutInflater.java:752) на android.view.LayoutInflater.inflate (LayoutInflater.java:495) на android .view.LayoutInflater.inflate (LayoutInflater.java:397) на com.example.sony.bluedolphintrialapp.DhampureFragment.onCreateView (DhampureFragment.java:18) на android.support.v4.app.Fragment.performCreateView:1789 ) в android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:955) android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1138 android.support.v4.app.BackrunordStackRecord .java: 740)
android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1501)
android.content.res.Resources.loadColorStateList (Resources.java:2963) в android.content.res.TypedArray.getColorStateList (TypedArray.java:343) в android.support.design.widget.FloatingActionButton. (FloatingAction:8utton.java в android.support.design.widget.FloatingActionButton. (FloatingActionButton.java:77)
XML с плавающей кнопкой действия:
Проблема заключалась в установке цвета на
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout_signup"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.sony.bluedolphintrialapp.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/headerlayout"
android:layout_width="fill_parent"
android:layout_height="70dp"
android:background="@color/backgroud_user"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp">
<TextView
android:id="@+id/headertextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
android:text="@string/title"
android:textColor="#FFF"
android:textSize="22dp" />
</RelativeLayout>
<com.gc.materialdesign.views.ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/headerlayout"
android:background="#F2F5F6">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="0sp"
android:orientation="vertical">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:paddingBottom="60dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:stretchColumns="0">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:weightSum="1">
<TextView
android:id="@+id/currentlyEmployed_label"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:layout_weight=".4"
android:padding="5dp"
android:textSize="15sp"
android:text="Channel Partner :"
android:textColor="@android:color/black" />
<com.gc.materialdesign.NewMaterials.Spinner
android:id="@+id/currentlyEmployed_spinner_id"
style="@style/Material.Widget.Spinner.Light"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight=".6"
app:rd_style="@style/Material.Drawable.Ripple.Wave.Light"
app:rd_enable="true"
app:rd_delayClick="false"
app:spn_labelEnable="true"
app:spn_label="Select"
app:spn_arrowSwitchMode="true"
android:padding="5dp"
app:spn_arrowAnimDuration="@android:integer/config_shortAnimTime"
app:spn_arrowInterpolator="@android:anim/decelerate_interpolator"/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/signup_first_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/addplaces_name"
android:layout_width="match_parent"
android:drawableLeft="@drawable/ic_action_person1"
android:drawableStart="@drawable/ic_action_person1"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Name"
android:inputType="textPersonName" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="1dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/Adress_first_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:padding="3dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/adress_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_action_time"
android:drawableStart="@drawable/ic_action_time"
android:layout_alignParentTop="true"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Start Time"
android:inputType="time|datetime" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/mobileNo_first_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/mobileNo_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_action_time"
android:drawableStart="@drawable/ic_action_time"
android:layout_alignParentTop="true"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="End Time"
android:inputType="text|textPostalAddress" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/email_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/email_Text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_action_time"
android:layout_alignParentTop="true"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Actual Start Time"
android:inputType="text|textPostalAddress" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/notes_first_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/notes_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:drawableLeft="@drawable/ic_action_time"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Actual End Time"
android:inputType="text|textPostalAddress" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/variance_field"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/variance_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:drawableLeft="@drawable/ic_action_error"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Variance"
android:inputType="text|textPostalAddress" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="3dp"
android:weightSum="0.5">
<com.dd.CircularProgressButton
android:id="@+id/Button_id"
android:layout_width="0dp"
android:layout_height="50dp"
android:text="Start"
android:padding="5dp"
android:layout_weight=".5"
android:gravity="center|center_horizontal"
android:layout_below="@+id/personmobile_id"
android:layout_marginTop="7sp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
app:cpb_cornerRadius="100dp"
app:cpb_selectorComplete="@color/STOPbutton"
app:cpb_selectorIdle="@color/backgroud_user"
app:cpb_selectorError="@color/sienna"
app:cpb_textComplete="STOP"
app:cpb_textIdle="START"/>
</TableRow>
<TableRow
android:layout_width="20dp"
android:layout_height="0dp"
android:layout_marginBottom="3dp"
android:weightSum="0.5">
<TextView
android:id="@+id/timertext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00:00"
android:textColor="?colorPrimary"
android:textStyle="bold"
android:layout_gravity="center"
android:textSize="25sp"
/>
</TableRow>
</TableLayout>
</RelativeLayout>
</com.gc.materialdesign.views.ScrollView>
</RelativeLayout>
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
app:fab_iconSize="@dimen/fab_size_mini"
android:layout_margin="@dimen/fab_margin"
android:layout_gravity="end|bottom|right"
android:src="@drawable/ic_format_list_bulleted_white_48dp"
app:rippleColor="@android:color/white"
android:layout_alignParentBottom="true"
app:backgroundTint="@color/green_dark"
android:layout_centerHorizontal="true"
app:elevation="6dp"
app:pressedTranslationZ="25dp"/>
</android.support.design.widget.CoordinatorLayout>
. Изменение цвета на нашем ресурсе (а не на Android) решает проблему.
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout_signup"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.sony.bluedolphintrialapp.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/headerlayout"
android:layout_width="fill_parent"
android:layout_height="70dp"
android:background="@color/backgroud_user"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp">
<TextView
android:id="@+id/headertextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
android:text="@string/title"
android:textColor="#FFF"
android:textSize="22dp" />
</RelativeLayout>
<com.gc.materialdesign.views.ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/headerlayout"
android:background="#F2F5F6">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="0sp"
android:orientation="vertical">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:paddingBottom="60dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:stretchColumns="0">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:weightSum="1">
<TextView
android:id="@+id/currentlyEmployed_label"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:layout_weight=".4"
android:padding="5dp"
android:textSize="15sp"
android:text="Channel Partner :"
android:textColor="@android:color/black" />
<com.gc.materialdesign.NewMaterials.Spinner
android:id="@+id/currentlyEmployed_spinner_id"
style="@style/Material.Widget.Spinner.Light"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight=".6"
app:rd_style="@style/Material.Drawable.Ripple.Wave.Light"
app:rd_enable="true"
app:rd_delayClick="false"
app:spn_labelEnable="true"
app:spn_label="Select"
app:spn_arrowSwitchMode="true"
android:padding="5dp"
app:spn_arrowAnimDuration="@android:integer/config_shortAnimTime"
app:spn_arrowInterpolator="@android:anim/decelerate_interpolator"/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/signup_first_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/addplaces_name"
android:layout_width="match_parent"
android:drawableLeft="@drawable/ic_action_person1"
android:drawableStart="@drawable/ic_action_person1"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Name"
android:inputType="textPersonName" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="1dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/Adress_first_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:padding="3dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/adress_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_action_time"
android:drawableStart="@drawable/ic_action_time"
android:layout_alignParentTop="true"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Start Time"
android:inputType="time|datetime" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/mobileNo_first_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/mobileNo_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_action_time"
android:drawableStart="@drawable/ic_action_time"
android:layout_alignParentTop="true"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="End Time"
android:inputType="text|textPostalAddress" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/email_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/email_Text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_action_time"
android:layout_alignParentTop="true"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Actual Start Time"
android:inputType="text|textPostalAddress" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/notes_first_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/notes_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:drawableLeft="@drawable/ic_action_time"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Actual End Time"
android:inputType="text|textPostalAddress" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="2dp"
android:weightSum="0.5">
<android.support.design.widget.TextInputLayout
android:id="@+id/variance_field"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:padding="5dp"
android:theme="@style/TextLabel"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/variance_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:drawableLeft="@drawable/ic_action_error"
android:paddingLeft="3dp"
android:paddingStart="3dp"
android:paddingRight="3dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:drawablePadding="5dp"
android:hint="Variance"
android:inputType="text|textPostalAddress" />
</android.support.design.widget.TextInputLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="3dp"
android:weightSum="0.5">
<com.dd.CircularProgressButton
android:id="@+id/Button_id"
android:layout_width="0dp"
android:layout_height="50dp"
android:text="Start"
android:padding="5dp"
android:layout_weight=".5"
android:gravity="center|center_horizontal"
android:layout_below="@+id/personmobile_id"
android:layout_marginTop="7sp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
app:cpb_cornerRadius="100dp"
app:cpb_selectorComplete="@color/STOPbutton"
app:cpb_selectorIdle="@color/backgroud_user"
app:cpb_selectorError="@color/sienna"
app:cpb_textComplete="STOP"
app:cpb_textIdle="START"/>
</TableRow>
<TableRow
android:layout_width="20dp"
android:layout_height="0dp"
android:layout_marginBottom="3dp"
android:weightSum="0.5">
<TextView
android:id="@+id/timertext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00:00"
android:textColor="?colorPrimary"
android:textStyle="bold"
android:layout_gravity="center"
android:textSize="25sp"
/>
</TableRow>
</TableLayout>
</RelativeLayout>
</com.gc.materialdesign.views.ScrollView>
</RelativeLayout>
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
app:fab_iconSize="@dimen/fab_size_mini"
android:layout_margin="@dimen/fab_margin"
android:layout_gravity="end|bottom|right"
android:src="@drawable/ic_format_list_bulleted_white_48dp"
app:rippleColor="@android:color/white"
android:layout_alignParentBottom="true"
app:backgroundTint="@color/green_dark"
android:layout_centerHorizontal="true"
app:elevation="6dp"
app:pressedTranslationZ="25dp"/>
</android.support.design.widget.CoordinatorLayout>