閱讀APP原始碼,瞭解Android studio觸控事件,切換圖片
閱讀APP原始碼,瞭解Android studio觸控事件,切換圖片
xml程式碼:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity10"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitXY" android:id="@+id/image"/> </LinearLayout>
java程式碼:
package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; import android.widget.Toast; public class MainActivity10 extends AppCompatActivity { // 定義陣列,用來訪問圖片資源 private int[] imgs = {R.drawable.one,R.drawable.two,R.drawable.three,R.drawable.four}; private ImageView image; // 觸控開始和結束位置值 private float startx=0.0f,endx=0.0f; // 圖片預設索引值 int count = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main10); image = findViewById(R.id.image); // 初始化第一張圖片 image.setImageResource(imgs[count]); // 給圖片設定觸控事件 image.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { // 獲取水平方向的值 float x = motionEvent.getX(); // 獲取觸控的初始位置 if(motionEvent.getAction()==MotionEvent.ACTION_DOWN){ startx = x; } // 獲取觸控的結束位置 if(motionEvent.getAction()==motionEvent.ACTION_UP){ endx = x; // 判斷滑動的距離是否超過100 if(Math.abs(startx-endx) > 100){ if(startx > endx){ // 向左滑動 // 判斷圖片索引是否等於3 if (count == 3){ Toast.makeText(MainActivity10.this,"已經是最後一張啦",Toast.LENGTH_SHORT).show(); } else { // 圖片索引+1 image.setImageResource(imgs[++count]); } } else { // 向右滑動 // 判斷圖片索引是否等於0 if (count == 0){ Toast.makeText(MainActivity10.this,"已經是第一張啦",Toast.LENGTH_SHORT).show(); } else { // 圖片索引-1 image.setImageResource(imgs[--count]); } } } } return true; } }); } }
以上就是 閱讀APP原始碼,瞭解Android studio觸控事件,切換圖片,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2846470/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android原始碼閱讀——GIF解碼(如何提取各幀圖片)Android原始碼
- 十分鐘瞭解Android觸控事件原理(InputManagerService)Android事件
- Appdash原始碼閱讀——reflectAPP原始碼
- 【原始碼閱讀】AndPermission原始碼閱讀原始碼
- switchable圖片切換
- PostgreSQL 原始碼解讀(3)- 如何閱讀原始碼SQL原始碼
- ThinkPHP6 原始碼閱讀(十):事件PHP原始碼事件
- Qt原始碼閱讀(四) 事件迴圈QT原始碼事件
- Android擴充系列(10)--使用Android Studio閱讀整個Android原始碼Android原始碼
- jQuery 圖片垂直切換效果詳解jQuery
- Android原始碼閱讀-編譯8.0原始碼Android原始碼編譯
- Python3 原始碼閱讀-深入瞭解Python GILPython原始碼
- Android觸控事件(上)——事件的由來Android事件
- Android觸控事件(下)——事件的分發Android事件
- Android觸控事件的應用Android事件
- Appdash原始碼閱讀——RecentStore和LimitStoreAPP原始碼MIT
- Appdash原始碼閱讀——Annotations與EventAPP原始碼
- Appdash原始碼閱讀——Recorder與CollectorAPP原始碼
- Appdash原始碼閱讀——Store儲存APP原始碼
- android圖片裁剪拼接實現(二):觸控實現Android
- 觸控事件事件
- Android觸控事件(續)——點選長按事件Android事件
- 通過解讀WPF觸控原始碼,分析WPF插拔裝置觸控失效的問題(問題篇)原始碼
- [閱讀JavaCookBook]瞭解MavenJavaMaven
- 馬賽克效果的JS圖片切換程式碼JS
- js圖片切換例項JS
- JavaScript 圖片切換展示效果JavaScript
- Android觸控事件傳遞機制Android事件
- Android中TouchEvent觸控事件機制Android事件
- Android 觸控事件處理機制Android事件
- Spring原始碼閱讀——ClassPathXmlApplicationContext(二)Spring原始碼XMLAPPContext
- Appdash原始碼閱讀——Tracer&SpanAPP原始碼
- 【原始碼閱讀】Glide原始碼閱讀之with方法(一)原始碼IDE
- 【原始碼閱讀】Glide原始碼閱讀之into方法(三)原始碼IDE
- android實現多圖片放大縮小的切換Android
- 直播app開發搭建,Android studio 圖片壓縮APPAndroid
- 原始碼閱讀之Activity啟動與App啟動流程 - Android 9.0原始碼APPAndroid
- 原始碼閱讀之Activity啟動與App啟動流程 – Android 9.0原始碼APPAndroid