源代码链接
效果:
MainActivity
package com.example.slidingpattern;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
//类成员变量
private SeekBar seekBar;//SeekBar可以供用户进行拖动改变进度值
private Button button1;
private SlideImageView slideImageView;//SlideImageView实现随机选取拼图位置,对拼图位置进行验证
private TextView resultText;
private View flashView;
private static final int flashTime = 80;
private long timeStart = 0;
private float timeUsed;
@SuppressLint("ClickableViewAccessibility")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
seekBar = findViewById(R.id.seekBar1);//滑动条
button1 = findViewById(R.id.button1);
slideImageView = findViewById(R.id.slide_image_view);//滑动图片
flashView = findViewById(R.id.flash_view);
resultText = findViewById(R.id.show_result);
slideImageView.setImageBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.background_image));//设置整张图片
seekBar.setMax(10000);//setMax()方法设置拖动条最大值
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
//slideImageView 是一个滑动图片视图的实例
//setMove() 是一个设置移动位置的方法。
//progress 是一个进度值,根据这个进度值计算出移动