自动播放的ViewFlipper

来源:互联网 发布:淘宝商品找不到了 编辑:程序博客网 时间:2024/06/05 09:21

本例子会用到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中调用ViewFlippershowPrevious(),showNext()等方法显示上一个下一个子组件。为了控制组件    切换时的动画效果,还需要调用ViwFlippersetInAnimation(),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();    }}
未解决的问题:程序运行后,点击自动播放,程序会闪退。望大神指点

0 0