本例子会用到ViewFlipper
代码如下:
XML文件:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.home.viewflipper.MainActivity"> <ViewFlipper android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/viewFlipper" android:flipInterval="1000"> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/java"/> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/android"/> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/javaee"/> </ViewFlipper> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="<" android:onClick="prev" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="自动播放" android:onClick="auto" android:layout_alignParentBottom="true" android:layout_centerInParent="true"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=">" android:onClick="next" android:layout_alignParentBottom="true" android:layout_alignParentRight="true"/> </RelativeLayout> <!--界面布局文件中定义了一个ViewFlipper,并在其中定义了三个ImageView,意味着ViewFlipper包含了三个子组件, 接下来在Activity中调用ViewFlipper的showPrevious(),showNext()等方法显示上一个下一个子组件。为了控制组件 切换时的动画效果,还需要调用ViwFlipper的setInAnimation(),setOutAnimatiom()方法设置动画效果-->Activity代码:
package com.example.home.viewflipper; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ViewFlipper; public class MainActivity extends AppCompatActivity { private ViewFlipper viewFlipper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewFlipper=(ViewFlipper)findViewById(R.id.viewFlipper); } public void prev(View source){ viewFlipper.setInAnimation(this,android.R.anim.slide_in_left); viewFlipper.setOutAnimation(this,android.R.anim.slide_out_right); //显示上一个组件 viewFlipper.showPrevious(); //停止自动播放 viewFlipper.stopFlipping(); } public void next(View source){ viewFlipper.setInAnimation(this,android.R.anim.slide_in_left); viewFlipper.setOutAnimation(this,android.R.anim.slide_out_right); //显示下一个组件 viewFlipper.showNext(); //停止自动播放 viewFlipper.stopFlipping(); } public void auto(){ viewFlipper.setInAnimation(this ,android.R.anim.slide_in_left); viewFlipper.setOutAnimation(this,android.R.anim.slide_out_right); //开始自动播放 viewFlipper.startFlipping(); } }未解决的问题:程序运行后,点击自动播放,程序会闪退。望大神指点