在Android中自动滑动图像

时间:2014-01-23 09:18:41

标签: android

我试着写一个非常基本的Android应用程序,在屏幕上一个接一个地显示大约5张图片。我希望它在大约10秒后显示不同的图片。任何人都可以告诉我如何解决这个问题。下面我概述了我要找的东西。

图片1

图2

图3

图4

图5

全屏显示图片1 等10秒 删除图片1和显示图片2 等10秒钟 删除图片2和显示图片3 等10秒钟 删除图片3和显示图片4 等10秒钟 删除图片4和显示图片5 等待10秒

再次开始......谢谢

2 个答案:

答案 0 :(得分:13)

您可以使用viewflipper:

view_flipper.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ViewFlipper
    android:id="@+id/viewflipper"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:autoStart="true"
    android:flipInterval="2000" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/picture1" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/picture2" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/picture3" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/picture4" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/picture5" />
</ViewFlipper>

</RelativeLayout>

在mainActivity的onCreate中提及此xml文件。像:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.view_flipper);
}

多数民众赞成。加载布局后,它将自动开始动画,因为我们在xml中提到了autoStart:true。

答案 1 :(得分:5)

您可以使用View鳍状肢滑动图像并在某个时间间隔自动执行,使用TimerTask和View Flipper。

在TimerTask内部,使用Viewflipper.showNext();

看看这个post

另请参阅ViewFlipper类中的startFlipping()和setFlipInterval()方法

http://android-er.blogspot.com/2011/03/auto-flipping-of-viewflipper.html

http://javatechig.com/android/android-viewflipper-example

您可以询问是否有任何进一步的询问..