我正在尝试为两个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>