Java 如何设置更改帧布局alpha的动画';什么是可绘制的?

Java 如何设置更改帧布局alpha的动画';什么是可绘制的?,java,android,android-animation,android-view,Java,Android,Android Animation,Android View,我试图找到一种方法来改变帧布局的前景可绘制的alpha的动画,但我似乎找不到一种方法来做到这一点。 如果有人能为我指明正确的方向,告诉我该如何做,我将不胜感激。 相关代码如下: XML布局文件: <com.bacon.corey.audiotimeshift.SlidingUpPanelLayout xmlns:sothree="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.androi

我试图找到一种方法来改变帧布局的前景可绘制的alpha的动画,但我似乎找不到一种方法来做到这一点。 如果有人能为我指明正确的方向,告诉我该如何做,我将不胜感激。 相关代码如下:

XML布局文件:

<com.bacon.corey.audiotimeshift.SlidingUpPanelLayout xmlns:sothree="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/sliding_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="bottom"
    sothree:panelHeight="0dp"
    sothree:shadowHeight="10dp"
    sothree:paralaxOffset="100dp"
    sothree:fadeColor="@android:color/transparent"

    >

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:padding="0dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:orientation="vertical"
        android:padding="0dip"
        android:gravity="center_horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="0dp"
        android:id="@+id/recordingListMainLayout"
        android:foreground="@drawable/dim_shadow_shape_dark"
        >

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:orientation="vertical"
            android:padding="0dp"
            android:gravity="center_horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"

            >
            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/mainLayoutContainer"/>
<!--
            <android.support.v4.view.ViewPager
                android:id="@+id/viewPager"
                android:layout_width="match_parent"
                android:layout_height="0px"
                android:layout_weight="1"
                android:padding="0dp"
                android:layout_margin="0dp"
                />
-->


        </LinearLayout>

    </FrameLayout>

    <com.bacon.corey.audiotimeshift.FloatingActionsMenu
        android:id="@+id/fabMenu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:gravity="right"
        app:fab_addButtonColorNormal="@color/holo_red_light"
        app:fab_addButtonColorPressed="@color/c16"
        app:fab_addButtonPlusIconColor="@color/white"
        app:fab_expandDirection="up"
        android:layout_marginTop="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginBottom="10dp"
        android:layout_marginEnd="10dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"

        >
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            >
            <FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/textview_rounded_corner_background_fam"
                >
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Option Four"
                    android:textAlignment="center"
                    android:padding="6dp"
                    android:fontFamily="sans-serif-medium"

                    />
            </FrameLayout>

            <com.bacon.corey.audiotimeshift.FloatingActionButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:fab_colorNormal="@color/c15"
                app:fab_colorPressed="@color/c15"
                app:fab_size="mini"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            >
            <FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/textview_rounded_corner_background_fam"
                >
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Option Four"
                    android:textAlignment="center"
                    android:padding="6dp"
                    android:fontFamily="sans-serif-medium"
                    />
            </FrameLayout>

            <com.bacon.corey.audiotimeshift.FloatingActionButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:fab_colorNormal="@color/c8"
                app:fab_colorPressed="@color/c8"
                app:fab_size="mini"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            >
            <FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/textview_rounded_corner_background_fam"
                >
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Option Four"
                    android:textAlignment="center"
                    android:padding="6dp"
                    android:fontFamily="sans-serif-medium"
                    />
            </FrameLayout>

            <com.bacon.corey.audiotimeshift.FloatingActionButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:fab_colorNormal="@color/a1"
                app:fab_colorPressed="@color/a1"
                app:fab_size="mini"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            >
            <FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/textview_rounded_corner_background_fam"
                >
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Option Four"
                    android:textAlignment="center"
                    android:padding="6dp"
                    android:fontFamily="sans-serif-medium"
                    />
            </FrameLayout>

            <com.bacon.corey.audiotimeshift.FloatingActionButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:fab_colorNormal="@color/a2"
                app:fab_colorPressed="@color/a2"
                app:fab_size="mini"
                />
        </LinearLayout>    </com.bacon.corey.audiotimeshift.FloatingActionsMenu>
</RelativeLayout>

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center|top"
            android:textSize="16sp"
            android:id="@+id/slideUpPanel"
            >

        </FrameLayout>

</com.bacon.corey.audiotimeshift.SlidingUpPanelLayout>

使用0到255,而不是使用从0到1的
动画的典型方式。像这样的东西会在CardView的前景中产生脉冲

public static void pulseForeground(CardView view, long duration) {
    ObjectAnimator animator = ObjectAnimator.ofInt(view.getForeground(), "alpha", 0, 255);
    animator.setDuration(duration);
    animator.setStartDelay(20);
    animator.setRepeatMode(Animation.REVERSE);
    animator.setRepeatCount(Animation.INFINITE);
    animator.start();
}

你没有试过ObjectAnimator,是吗?嗨,我看过ObjectAnimator,但我看不出它如何在我的案例中使用。除非我错过了什么。谢谢,CoreyYou使用属性“alpha”为可绘制对象设置动画嗨,我用以下代码尝试过:ObjectAnimator anim=ObjectAnimator.offload(mainActivity.getDimShadowDrop().get前台(),“alpha”,0f,1f);但它不会为alpha设置动画。你知道我做得对吗?谢谢,Coreyalpha是int,而不是float,seeDrawable.setAlpha()你还需要为你的动画师设置一些持续时间,当然要开始它
public static void pulseForeground(CardView view, long duration) {
    ObjectAnimator animator = ObjectAnimator.ofInt(view.getForeground(), "alpha", 0, 255);
    animator.setDuration(duration);
    animator.setStartDelay(20);
    animator.setRepeatMode(Animation.REVERSE);
    animator.setRepeatCount(Animation.INFINITE);
    animator.start();
}