1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Android的触摸监听器实现滑动图片

Android的触摸监听器实现滑动图片

时间:2024-02-08 11:43:20

相关推荐

Android的触摸监听器实现滑动图片

工程目录:

Activity

package com.example.slide;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.view.animation.AnimationUtils;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.ViewSwitcher;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private int[] arrayPicture=new int[]{R.drawable.p1,R.drawable.p2,R.drawable.p3};private ImageSwitcher imageSwitcher;private int index;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageSwitcher=findViewById(R.id.imgSwitcher);imageSwitcher.setFactory(new ViewSwitcher.ViewFactory() {@Overridepublic View makeView() {ImageView imageView=new ImageView(MainActivity.this);imageView.setImageResource(arrayPicture[index]);return imageView;}});imageSwitcher.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {int x0=0;/*按下坐标*/int x1=0;/*抬起坐标*/switch(event.getAction()){case MotionEvent.ACTION_DOWN:x0=(int)event.getX();break;case MotionEvent.ACTION_UP:x1=(int)event.getX();//右滑if(x1-x0>100)index=index==0?arrayPicture.length-1:index-1;else if(x1-x0>100)//左滑index=index==arrayPicture.length-1?0:index+1;break;}imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(MainActivity.this,android.R.anim.fade_in));imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(MainActivity.this,android.R.anim.fade_out));imageSwitcher.setImageResource(arrayPicture[index]);return true;}});}}

Layout

<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><ImageSwitcherandroid:id="@+id/imgSwitcher"android:layout_width="wrap_content"android:layout_height="wrap_content"></ImageSwitcher></LinearLayout></androidx.constraintlayout.widget.ConstraintLayout>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。