显示比设备屏幕大的图像,然后通过翻译动画浏览图片

Display a image larger than the device screen, and then go through the picture with a translation animation

现在我知道如何制作translateAnimation,以便通过图片并将其显示在屏幕上。 我不知道该怎么做,将图片放在屏幕上,并以这样的方式制作它,使其不会按比例类型缩放。所以我可以启动 translateAnimation。 我看到了一些关于这个的帖子,很多建议都说我应该使用 HorrizontalScrollView,以便放置比设备屏幕大的图片。但是我需要制作一个动画,而不是让我能够移动图片,所以在我看来这可能不是完美的方式。 大家还有什么建议吗?

没有使用horrizontalScrollView,而是强制整个布局的宽度为图片大小,在里面设置一个RelativeLayout,配合屏幕大小,然后做动画。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="1103dp"
android:layout_height="736dp"
android:background="@color/white">

<ImageView
    android:id="@+id/background"
    android:visibility="invisible"
    android:src="@drawable/story1"
    android:scaleType="fitXY"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

<RelativeLayout
    android:id="@+id/screen_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

-----------------CODE inside relative layout for normal page--------
</RelativeLayout>

</RelativeLayout>

然后在我的代码中为我的屏幕容器设置屏幕宽度和高度(包含除将翻译的背景图片之外的所有内容):

screenContainer.setLayoutParams(new RelativeLayout.LayoutParams(Math.round(Constants.screenWidth), Math.round(Constants.screenHeight)));

这是我对与父级(背景图片的大小)匹配的 ImageView 的翻译:

 TranslateAnimation translateBackground = new TranslateAnimation(
            TranslateAnimation.RELATIVE_TO_PARENT,from,
            TranslateAnimation.RELATIVE_TO_PARENT,-0.5f,
            TranslateAnimation.RELATIVE_TO_PARENT,0.0f,
            TranslateAnimation.RELATIVE_TO_PARENT,0.0f);
    translateBackground.setDuration(15000);
    background.setVisibility(View.VISIBLE);
    background.startAnimation(translateBackground);