我有一个全景背景作为天空,我想从左到右,然后从右到左移动,以模拟移动云动画作为屏幕背景。
这应该无限期重复,然后在最右边再回到最左边..
我尝试了以下内容:
Animation left = AnimationUtils.loadAnimation(MainActivity.this, com.icare.kids.R.anim.view_transition_out_right);
left.setRepeatCount(Animation.INFINITE);
left.setRepeatMode(Animation.REVERSE);
left.setDuration(3000);
findViewById(id.cloud).startAnimation(left);
但这似乎不起作用......任何解决方案?
我目前正在将图像设置为ImageView,如下所示:
<ImageView
android:id="@+id/cloud"
android:layout_width="3000dip"
android:layout_height="wrap_content"
android:layout_below="@id/topbar"
android:scaleType="matrix"
android:src="@drawable/bgpan" />
如何设置图像到屏幕从左下方开始,如下图所示,以帮助全景动画效果:
答案 0 :(得分:3)
在所有手机系列上高效快速的最佳解决方案实际上只是在保持背景静态的同时为云设置动画。 你还可以添加一些变量来增加一些随机化的速度,这样你就不会有单调的循环。
实施细节和解决方案来自this answer
答案 1 :(得分:0)
您可能尝试的一件事是使用带有假拖动的Viewpager对象,您可以不断地将背景重新添加到生成的新视图中,同时禁用用户输入。
这会产生你想要做的事情的错觉。
因此,假设您的适配器中有4个视图,每个视图只包含一个填满整个屏幕的图像资源,Viewpager的假拖拽从View A到View B,绘制View C并绘制View D,然后它假冒从视图B拖到视图C并再次绘制视图
我很好奇这是否适合你