У меня были проблемы с этой ошибкой целую вечность.
Fatal Exception: java.lang.IllegalStateException: Unable to create layer for MatchCard_
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:143)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Это не всегда так, но чаще всего.Представление построено так:
<?xml version="1.0" encoding="utf-8"?>
<com.soudfa.views.RoundedView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/cardView"
android:layout_width="match_parent"
android:layout_height="@integer/match_card_height"
android:layout_gravity="@integer/match_card_card_gravity"
android:transitionGroup="true"
android:layoutDirection="locale"
app:cardPreventCornerOverlap="@bool/match_card_prevent_corner_overlap"
app:corner_radius="@dimen/corner_radius"
app:cardElevation="0dp">
<com.soudfa.fragments.match.views.CustomRecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="@integer/match_card_height"
android:layout_gravity="@integer/match_card_card_gravity"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:clipToPadding="false"
android:scrollbars="@integer/match_card_scroll_bar"
android:background="@color/brightest"
android:overScrollMode="never"/>
<FrameLayout
android:id="@+id/leftActionImageContainer"
android:layout_width="@dimen/match_card_decision_icon_size_start"
android:layout_height="@dimen/match_card_decision_icon_size_start"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
android:alpha="0"
android:background="@drawable/shape_match_decision_icon_like"
android:elevation="@dimen/general_elevation"
android:padding="@dimen/match_card_decision_icon_padding"
android:scaleType="fitCenter"
android:scaleX="0"
android:scaleY="0">
<ImageView
android:id="@+id/leftActionImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tint="@color/custom_match_card_action_positive"/>
</FrameLayout>
<FrameLayout
android:id="@+id/rightActionImageContainer"
android:layout_width="@dimen/match_card_decision_icon_size_start"
android:layout_height="@dimen/match_card_decision_icon_size_start"
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:alpha="0"
android:background="@drawable/shape_match_decision_icon_reject"
android:elevation="@dimen/general_elevation"
android:padding="@dimen/match_card_decision_icon_padding"
android:scaleType="fitCenter"
android:scaleX="0"
android:scaleY="0">
<ImageView
android:id="@+id/rightActionImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tint="@color/custom_match_card_action_negative"/>
</FrameLayout>
<FrameLayout
android:id="@+id/shadow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:background="#000"
android:alpha="0"/>
RoundedView - это просто класс, расширяющий RelativeLayout и использующий canvas для обрезания пути по dispatchDraw.
Как видно на Fabric Похоже, что проблема чаще возникает на Samsung с версией Android 5.x.
У кого-нибудь есть опыт с этой проблемой или какие-либо предложения по ее устранению?
Заранее спасибо:)