阅读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触摸事件,切换图片,更多内容欢迎关注之后的文章
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· 对象命名为何需要避免'-er'和'-or'后缀
· JDK 24 发布,新特性解读!
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· SQL Server如何跟踪自动统计信息更新?