<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <!-- 定義ImageView控件 --> <ImageView android:id="@+id/Iv" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/k1" /> </RelativeLayout>
package com.example.yanlei.yl; import android.graphics.Color; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; import android.text.Html; import android.text.Html.ImageGetter; import java.util.regex.Matcher; import java.util.regex.Pattern; import android.text.Editable; import android.text.TextWatcher; import android.widget.EditText; import android.widget.Button; import android.app.Activity; import android.content.Intent; import android.view.GestureDetector; import android.view.MotionEvent; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { // 定義保存ImageView的對象 private ImageView Iv; //定義手勢檢測器對象 private GestureDetector gestureDetector; //定義圖片的資源數組 private int[] ResId = new int[]{ R.drawable.k1, R.drawable.k2, R.drawable.k3 }; //定義當前顯示的圖片的下標 private int count = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findView(); setListener(); } private void setListener() { //設置手勢監聽器的處理效果由onGestureListener來處理 gestureDetector = new GestureDetector(MainActivity.this, onGestureListener); } @Override public boolean onTouchEvent(MotionEvent event) { //當前Activity被觸摸時回調 return gestureDetector.onTouchEvent(event); } private void findView() { //得到當前頁面的imageview控件 Iv = (ImageView) findViewById(R.id.Iv); } //定義了GestureDetector的手勢識別監聽器 private GestureDetector.OnGestureListener onGestureListener = new GestureDetector.SimpleOnGestureListener() { //當識別的收拾是滑動手勢時回調onFinger方法 @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //得到滑動手勢的其實和結束點的x,y坐標,並進行計算 float x = e2.getX() - e1.getX(); float y = e2.getY() - e1.getY(); //通過計算結果判斷用戶是向左滑動或者向右滑動 if (x > 0) { count++; count %= 3; } else if (x < 0) { count--; count = (count + 3) % 3; } //切換imageview的圖片 changeImg(); return true; } }; public void changeImg() { //設置當前位置的圖片資源 Iv.setImageResource(ResId[count]); } }