阅读APP源码,了解Android studio触摸事件,切换图片

阅读APP源码,了解Android studio触摸事件,切换图片

xml代码:

 

1
<br><?xml version="1.0" encoding="utf-8"?><br><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br>    xmlns:app="http://schemas.android.com/apk/res-auto"<br>    xmlns:tools="http://schemas.android.com/tools"<br>    android:layout_width="match_parent"<br>    android:layout_height="match_parent"<br>    android:orientation="vertical"<br>    tools:context=".MainActivity10"><br> <br>    <ImageView<br>        android:layout_width="match_parent"<br>        android:layout_height="match_parent"<br>        android:scaleType="fitXY"<br>        android:id="@+id/image"/><br> <br></LinearLayout>

 java代码:

 

1
<br>package com.example.myapplication;<br> <br>import androidx.appcompat.app.AppCompatActivity;<br> <br>import android.os.Bundle;<br>import android.view.MotionEvent;<br>import android.view.View;<br>import android.widget.ImageView;<br>import android.widget.Toast;<br> <br>public class MainActivity10 extends AppCompatActivity {<br> <br>    // 定义数组,用来访问图片资源<br>    private int[] imgs = {R.drawable.one,R.drawable.two,R.drawable.three,R.drawable.four};<br>    private ImageView image;<br>    // 触摸开始和结束位置值<br>    private float startx=0.0f,endx=0.0f;<br>    // 图片默认索引值<br>    int count = 0;<br>    @Override<br>    protected void onCreate(Bundle savedInstanceState) {<br>        super.onCreate(savedInstanceState);<br>        setContentView(R.layout.activity_main10);<br> <br>        image = findViewById(R.id.image);<br> <br>        // 初始化第一张图片<br>        image.setImageResource(imgs[count]);<br> <br>        // 给图片设置触摸事件<br>        image.setOnTouchListener(new View.OnTouchListener() {<br>            @Override<br>            public boolean onTouch(View view, MotionEvent motionEvent) {<br>                // 获取水平方向的值<br>                float x = motionEvent.getX();<br>                // 获取触摸的初始位置<br>                if(motionEvent.getAction()==MotionEvent.ACTION_DOWN){<br>                    startx = x;<br>                }<br>                // 获取触摸的结束位置<br>                if(motionEvent.getAction()==motionEvent.ACTION_UP){<br>                    endx = x;<br>                    // 判断滑动的距离是否超过100<br>                    if(Math.abs(startx-endx) > 100){<br>                        if(startx > endx){ // 向左滑动<br>                            // 判断图片索引是否等于3<br>                            if (count == 3){<br>                                Toast.makeText(MainActivity10.this,"已经是最后一张啦",Toast.LENGTH_SHORT).show();<br>                            } else {<br>                                // 图片索引+1<br>                                image.setImageResource(imgs[++count]);<br>                            }<br>                        } else { // 向右滑动<br>                            // 判断图片索引是否等于0<br>                            if (count == 0){<br>                                Toast.makeText(MainActivity10.this,"已经是第一张啦",Toast.LENGTH_SHORT).show();<br>                            } else {<br>                                // 图片索引-1<br>                                image.setImageResource(imgs[--count]);<br>                            }<br>                        }<br>                    }<br>                }<br>                return true;<br>            }<br>        });<br>    }<br>}

 

以上就是 阅读APP源码,了解Android studio触摸事件,切换图片,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(97)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示