欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发中该如何通过划动屏幕实现图片切换功能

程序员文章站 2022-10-30 19:48:43
android开发中该如何通过划动屏幕实现图片切换功能 经过几天夜以继日的吃喝玩乐学习,总算是断断续续的把老师布置的期中课程设计给写完了;其中有些东西是老师在上课没有讲过(也许是因为我上课开小差了没...

android开发中该如何通过划动屏幕实现图片切换功能

经过几天夜以继日的吃喝玩乐学习,总算是断断续续的把老师布置的期中课程设计给写完了;其中有些东西是老师在上课没有讲过(也许是因为我上课开小差了没听到 hhhh),但我认为挺重要的东西,所以我决定将它们记录下来。

代码

因为划屏切换算是比较简单的代码,所以我就不说思路什么的了,相信大家看看代码就能理解。

xml代码我也懒得贴了,没什么值得学习的东西,

以下为java代码:

import android.support.v7.app.appcompatactivity;
import android.os.bundle;
import android.view.motionevent;
import android.widget.button;
import android.widget.imageview;

public class character extends appcompatactivity {
    float x1 = 0;           
    float x2 = 0;

    imageview img;
    //建立一个图片索引值的数组
    int[] imgs={
            r.drawable.character1,
            r.drawable.character2,
            r.drawable.character3,
            r.drawable.character4,
            r.drawable.character5,
    };
    int index;              //存放数组中元素当前的位置

    @override
    protected void oncreate(bundle savedinstancestate) {
        super.oncreate(savedinstancestate);
        setcontentview(r.layout.activity_character);

        img =(imageview)findviewbyid(r.id.imageview);
    }
       public boolean ontouchevent(motionevent event) {                //划屏切换
        //继承了activity的ontouchevent方法,直接监听点击事件
        if(event.getaction() == motionevent.action_down) {//当手指按下的时候
            x1 = event.getx();
        }
        if(event.getaction() == motionevent.action_up) {//当手指离开的时候
            x2 = event.getx();

            if(x1 - x2 > 50) {          //如果向左划(下一张)
                if (index < 4) {
                    index++;
                    img.setimageresource(imgs[index]);
                }
            } else if(x2 - x1 > 50) {   //如果向右划(上一张)
                if(index>0){
                    index--;
                    img.setimageresource(imgs[index]);
                }
            }
        }
        return super.ontouchevent(event);
    }
}
最后

因为以上这段代码为本人期中作业的一小部分代码,删去了些与划屏切换无关的代码,所以有概率不小心把必要的代码也不小心删去了(或者留下了某些奇奇怪怪的东西);如果有欢迎朋友们联系我好让我及时改正错误。