在我的活动中,我只有一个ImageView。在其中,src是一张比屏幕大很多的图片。我希望图片从左向右缓慢滚动直到到达照片的右边距,然后再开始向左滚动直到达到左边距。然后重新开始。我需要它在单独的线程中发生,以便在发生这种情况时电话不会冻结。>>
我该如何实现?是否有默认情况下会执行此操作的小部件?
更新的代码
//布局:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mylinear" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:src="@drawable/rainforest" /> </RelativeLayout>
//和活动
public class MainActivity extends Activity { Animation _translateAnimation; RelativeLayout _relativeLoading = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); _translateAnimation = new TranslateAnimation(TranslateAnimation.ABSOLUTE, 0f, TranslateAnimation.ABSOLUTE, -100f, TranslateAnimation.ABSOLUTE, 0f, TranslateAnimation.ABSOLUTE, 0f); _translateAnimation.setDuration(5000); _translateAnimation.setRepeatCount(-1); _translateAnimation.setRepeatMode(Animation.REVERSE); // REVERSE _translateAnimation.setInterpolator(new LinearInterpolator()); _relativeLoading = (RelativeLayout) findViewById(R.id.mylinear); _relativeLoading.startAnimation(_translateAnimation); }
但是它与图片不符。我的意思是,滚动从左到右,将图片“推”到左侧,并在ImageView下方显示白色背景。
另外,这应该在线程之内吗?我需要能够以某种方式退出此“滚动”活动,而无需使用“上一步”按钮。我想在ImageView的顶部放置一个按钮(该按钮应保持静止),并在onClick上启动另一个Intent
似乎ImageView内的图片被裁剪以适合屏幕内。我该如何克服?
在我的活动中,我只有一个ImageView。在其中,src是一张比屏幕大很多的图片。我希望图片从左到右缓慢滚动直到到达右边距...
示例:
因此,解决我的问题的方法在这里(对于像我这样的所有新android开发人员,他们的应用可能需要此解决方案:]
您可以做的是将ImageView添加到ScrollView中。像这样
我一直在寻找这个组件,然后我找到了这个有用的库,希望对其他人有帮助