4.4.4上的Android CardView,在动画或移动时变得透明

时间:2016-04-19 09:41:04

标签: android android-layout android-4.4-kitkat android-cardview

在所有Android API上测试我的应用程序兼容性时,我发现android 4.4.4上的android.support.v7.widget.CardView中的错误,每当我尝试动画或在任何其他小部件中使用它它在动画或触摸/移动时变得透明

这只发生在android kitkat 4.4.4上,它在所有其他API级别上运行完美,甚至可以在android 4.4.2上运行

任何人遇到类似的问题或有解决方案吗?

包含CardView的布局

<LinearLayout
android:id="@+id/root_surprise"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
android:orientation="vertical"
tools:context="com.epollomes.lebaneseproverbs.fragments.SingleCategoryFragment">

<ImageView
    android:id="@+id/image_view_title2"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center"
    android:layout_weight="1.5"
    android:scaleType="fitCenter"
    android:src="@drawable/surprise_me_menu"/>

<com.epollomes.lebaneseproverbs.fonts.FontFitTextView
    android:id="@+id/text_view_title_surprise"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center"
    android:layout_weight="1.5"
    android:gravity="center"
    android:paddingLeft="25dp"
    android:paddingRight="25dp"
    android:text="@string/hazzak_el_yom"
    android:textColor="#FFFFFF"
    android:textSize="50sp"/>

<FrameLayout
    android:id="@+id/card_view_layout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_margin="0dp"
    android:layout_weight="6"
    android:padding="0dp">

    <android.support.v7.widget.CardView
        android:id="@+id/card_view_id2"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="25dp"
        card_view:cardBackgroundColor="@color/cardColor"
        card_view:cardCornerRadius="20dp"
        card_view:cardElevation="3dp"
        card_view:cardPreventCornerOverlap="true"
        card_view:cardUseCompatPadding="true"
        card_view:contentPadding="15dp">

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


            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:scaleType="centerInside"
                android:src="@drawable/double_quote2"/>


            <com.epollomes.lebaneseproverbs.fonts.FontFitTextView
                android:id="@+id/textViewTest2"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="4"
                android:gravity="center"
                android:paddingLeft="15dp"
                android:paddingRight="15dp"
                android:text="test"
                android:textColor="@color/proverbColor"
                android:textSize="100sp"/>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_gravity="end"
                android:layout_weight="1"
                android:scaleType="centerInside"
                android:src="@drawable/double_quote"/>

        </LinearLayout>
    </android.support.v7.widget.CardView>
</FrameLayout>

<View
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>
</LinearLayout>

我尝试从卡片视图中删除所有参数(宽度和高度除外),并删除了CardView布局中的视图。没有任何成功。

调用java代码是一个简单的动画:

public void entranceAnimation() {
    Animation animFirst = AnimationUtils.loadAnimation(getContext(), R.anim.surprise_animation);
    cardViewProverb.startAnimation(animFirst);
}

有什么想法吗?

谢谢

0 个答案:

没有答案