并排翻译两个ImageView的动画

时间:2018-07-06 16:53:39

标签: java android imageview objectanimator

我正在尝试为两个ImageView创建水平平移动画。但是,两个ImageView的宽度都应等于屏幕宽度。 这就是到目前为止的原因。但是第二张图片没有显示或更新。

<LinearLayout
    android:id="@+id/header_linear"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/current_image_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:scaleType="centerCrop"
        app:layout_collapseMode="parallax"
        android:contentDescription="@string/image_movie"/>

    <ImageView
        android:id="@+id/next_image_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:scaleType="centerCrop"
        app:layout_collapseMode="parallax"
        android:contentDescription="@string/image_movie"/>
</LinearLayout>

// Actual animation of Linear container
float width = ScreenTools.getScreenWidth(context, ScreenTools.Unit.PIXELS);
float startPositionPrevious = 0;
float endPositionPrevious = -width;

ObjectAnimator translateAnimator = ObjectAnimator.ofFloat(headerLinearLayout,
        View.TRANSLATION_X, startPositionPrevious, endPositionPrevious);

translateAnimator.setInterpolator(new AccelerateInterpolator());
translateAnimator.setDuration(1500);
translateAnimator.start();

我将两个ImageView的宽度设置为0dp,将权重设置为1,以测试图像是否正确更新,所以这不是问题。

<LinearLayout
    android:id="@+id/header_linear"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/current_image_view"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:fitsSystemWindows="true"
        android:scaleType="centerCrop"
        app:layout_collapseMode="parallax"
        android:contentDescription="@string/image_movie"/>

    <ImageView
        android:id="@+id/next_image_view"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:fitsSystemWindows="true"
        android:scaleType="centerCrop"
        app:layout_collapseMode="parallax"
        android:contentDescription="@string/image_movie"/>
</LinearLayout>

0 个答案:

没有答案