Android 控件:ViewFlipper的简单使用

* 对于ViewFlipper控件,之前我是比较陌生的,也没有去使用过。但是看了慕课网教程之后,就简单写了一个Demo,方便以后使用。慕课网讲解ViewFlipper的链接:http://www.imooc.com/video/2657/0 

* Demo很简单。就是一个xml布局+一个Activity。

* 首先是xml

<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"
    tools:context=".MainActivity" >

    <ViewFlipper
        android:id="@+id/flipper"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ViewFlipper>

</RelativeLayout>


 

* 然后是Activity

package com.example.viewflipper;

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.ImageView;
import android.widget.ViewFlipper;

public class MainActivity extends Activity {

	private ViewFlipper flipper;

	private int[] resid = { R.drawable.a1, R.drawable.a2, R.drawable.a3,
			R.drawable.a4, R.drawable.a5 };

	private float startX;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		flipper = (ViewFlipper) findViewById(R.id.flipper);
		for (int i = 0; i < resid.length; i++) {
			flipper.addView(getImagevView(resid[i]));
		}
		{
			// //1. 自动播放的效果
			// flipper.setInAnimation(this, R.anim.left_in);
			// flipper.setOutAnimation(this, R.anim.left_out);
			// flipper.setFlipInterval(2000);// 切换间隔时间
			// flipper.startFlipping();// 播放动画
		}
	}

	@Override
	public boolean onTouchEvent(MotionEvent event) {
		// 2.手势滑动的效果|没加动画,很丑
		switch (event.getAction()) {
		case MotionEvent.ACTION_DOWN:
			startX = event.getX();
			break;
		case MotionEvent.ACTION_MOVE:

			// 像左滑动
			if (startX - event.getX() > 100) {
				flipper.showNext();
			}
			// 向右滑动,看前一页
			if (event.getX() - startX > 100) {
				flipper.showPrevious();
			}
			break;
		case MotionEvent.ACTION_UP:

			break;

		default:
			break;
		}

		return super.onTouchEvent(event);
	}

	public ImageView getImagevView(int resid) {

		ImageView imageView = new ImageView(this);
		imageView.setBackgroundResource(resid);
		return imageView;
	}
}


 

代码运行OK,不过要使用需要自己去在项目里面搞几个图片。至于R.anim.xxx没有就注释掉这两行代码即可。不影响项目的运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值