Android控件之ImageSwitcher_图片切换和TextSwitcher_文字切换

来源:互联网 发布:c语言 pipe 编辑:程序博客网 时间:2024/06/05 20:01

ImageSwitcher:

这里写图片描述

package com.example.ImageSwitcher;import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.Toast;import android.widget.ViewSwitcher.ViewFactory;public class MainActivity extends Activity implements ViewFactory,OnTouchListener {    private ImageSwitcher imageSwitcher;    private int index;//保存当前所设置图片数组的索引    //定义一个图片数组    private int[] imageArray= {R.drawable.a,     R.drawable.b,R.drawable.c,    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imageSwitcher=(ImageSwitcher) findViewById(R.id.imageSwitcher);        imageSwitcher.setFactory(this);//给imageSwitcher设置工厂        imageSwitcher.setOnTouchListener(this);//imageSwitcher设置监听事件    }    //重写ViewFactory的makeView() 方法    @Override    public View makeView() {        // TODO Auto-generated method stub        ImageView iv=new ImageView(this);        iv.setImageResource(imageArray[0]);        return iv;//注意返回值一张图片    }    float startx,endx;//记录开始移动的位置和结束移动的位置    ///其实重写Activity的onTouch方法也可以!!!    @Override    public boolean onTouch(View v, MotionEvent event) {        // TODO Auto-generated method stub        int action=event.getAction();//获取当前的事件动作        //判断是否开启滑动屏幕的开始点        if(action==MotionEvent.ACTION_DOWN) {            startx=event.getX();            return true;        }        //判断是否开启滑动屏幕的结束点        if(action==MotionEvent.ACTION_UP) {            endx=event.getX();            //判断滑动的方向            //右往滑动代表下一张,从左往右划代表上一张            if(startx-endx>20) {                Toast.makeText(getApplicationContext(), index+"",1000).show();                index=index+1<imageArray.length?++index:0;//下一张.数组++                imageSwitcher.setImageResource(imageArray[index]);            }else if(startx-endx<20) {                Toast.makeText(getApplicationContext(), index,1000).show();                index=index-1<=0?--index:imageArray.length-1;//上一张.数组++                imageSwitcher.setImageResource(imageArray[index]);            }            return true;        }        return true;    }}
原创粉丝点击