Android Studio实现滑动图片验证码

news2024/11/27 6:24:47

源代码链接
效果:
在这里插入图片描述
在这里插入图片描述
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 是一个进度值,根据这个进度值计算出移动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/858693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django实现音乐网站 ⑽

使用Python Django框架制作一个音乐网站, 本篇主要是后台对歌曲类型、歌单功能原有功能进行部分功能实现和显示优化。 目录 歌曲类型功能优化 新增编辑 优化输入项标题显示 父类型显示改为下拉菜单 列表显示 父类型显示名称 过滤器增加父类型 歌单表功能优化…

Centos7.9编写分布式集群大数据系统_自启动脚本---Linux工作笔记058

由于为了方便,系统在启动的时候,设置成系统所有的,集群软件都自动启动,这样,可以减少,运维成本,要不然,这么多,工具,有的还不知道放到什么位置了,一个个去启动,非常麻烦. 首先编辑: 编辑这个文件: 然后编辑这个文件,写上自己,自启动脚本的位置,然后保存 :wq 然后再给这个文件…

多技术融合下生态系统服务权衡与协同动态分析教程

详情点击链接:多技术融合下生态系统服务权衡与协同动态分析教程 前言 生态系统服务是指生态系统所形成的用于维持人类赖以生存和发展的自然环境条件与效用,是人类直接或间接从生态系统中得到的各种惠益。联合国千年生态系统评估(Millennium…

连接不上linux上的redis

禁掉防火墙 在虚拟机上查看防火墙的状态 systemctl status firewalld.service 需要给他关停 systemctl stop firewalld.service systemctl disable firewalld.service 再次查看防火墙状态 这样也就连接成功了

普罗米修斯之一实现图形化监控

普罗米修斯之一实现图形化监控 1:prometheus1. 下载:2. 安装:3. 启动:1:启动方式之一加入systemctl2:启动方式之二---直接启动3:启动方式之三----后台运行 4:默认配置文件prometheus…

家政服务平台|家政上门服务系统打开时代新渠道

在快节奏的现代社会,工作和家庭的双重压力常常使人们备受折磨。为了缓解这种压力,我们公司推出了一款创新的家政上门服务系统,旨在为您提供便捷、高效的生活服务。通过结合先进技术和人性化服务,我们致力于改善您的生活品质&#…

水质分析积分球定义和原理

随着社会经济的快速发展,人们对水质的要求不断提升,特别是生活饮用水,检测项目渐趋完善。在工业化大发展的前提下,水资源正遭受着严重的污染,因此确保水质安全,定期开展对饮用水的检测工作已迫在眉睫。环境…

Maven 生成(打包)带有依赖的可以直接执行的一个 jar 包

在pom中增加如下内容 <build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><archive><manifest><mainClass>com.example.xxx.YourClass</mainClass></manifest></…

非常强大的IDEA代码重构小技巧

文章目录 命名相关refactor thisrenamechange signature 变量相关extract/introduce 移动move instance methodcopy classsafe delete 成员方法与类型Type migration 使用接口与取消继承 idea是个非常强大的ide&#xff0c;尤其是在重构时&#xff0c;提供了非常强大的功能。下…

twisted 18.7.0 requires PyHamcrest>=1.9.0 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

火爆全网,HttpRunner自动化测试框架-CSV文件数据(详细总结)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 当数据量比较大的…

设计模式(4)装饰模式

一、介绍&#xff1a; 1、应用场景&#xff1a;把所需的功能按正确的顺序串联起来进行控制。动态地给一个对象添加一些额外的职责&#xff0c;就增加功能来说&#xff0c;装饰模式比生成子类更加灵活。 当需要给一个现有类添加附加职责&#xff0c;而又不能采用生成子类的方法…

逆向破解学习-雷电星海战歌

apk 雷电星海战歌 https://download.csdn.net/download/AdrianAndroid/88200826 安装apk&#xff0c;并试玩 # 通过关键字搜索jad 找到统一支付接口 找到匿名内部类的名称 Hook代码 public class HookComAstPlane extends HookImpl {Overridepublic String packageNam…

15.4 【Linux】可唤醒停机期间的工作任务

15.4.1 什么是 anacron anacron 并不是用来取代 crontab 的&#xff0c;anacron 存在的目的就在于我们上头提到的&#xff0c;在处理非24 小时一直启动的 Linux 系统的 crontab 的执行&#xff01; 以及因为某些原因导致的超过时间而没有被执行的调度工作。 其实 anacron 也是…

makefile include 使用介绍

文章目录 前言一、include 关键字1. 语法介绍2. 处理方式示例&#xff1a; 二、- include 操作总结 前言 一、include 关键字 1. 语法介绍 在 Makefile 中&#xff0c;include 指令&#xff1a; 类似于 C 语言中的 include 。将其他文件的内容原封不动的搬入当前文件。 当 …

云仓酒庄给予经销商支持和帮助,为服务好终端架起桥梁

随着经济消费持续复苏&#xff0c;白酒市场也在快速回暖&#xff0c;据相关数据显示&#xff0c;白酒行业营收利润的持续增长&#xff0c;促使不少经销商走入白酒市场这一赛道&#xff0c;品牌经销成为瓜分“蛋糕”的重要方式。同时&#xff0c;不少专注于白酒技术研发、酿造、…

【从0开始离线数仓项目】——数据仓库的环境搭建(1)

目录 一、服务器环境准备 1.2 编写集群分发脚本xsync 1.3 SSH无密登录配置 1.4 JDK准备 1.5 环境变量配置说明 二、集群所有进程查看脚本 三、Zookeeper安装 3.1 分布式安装部署 3.2 ZK集群启动停止脚本 3.3 客户端命令行操作 一、服务器环境准备 CentOS 7 怎么从命…

勘探开发人工智能技术:机器学习(4)

0 提纲 5.1 半监督学习 5.2 主动学习 5.3 代价敏感学习 5.4 多标签学习 5.5 多示例学习 1 半监督学习 用无标签的数据提升学习器的效果. 1.1 基本概念 半监督学习强调的是一种学习场景, 在该场景下, 无标签数据可以协助带标签数据提升预测质量. 监督学习: 训练数据都有标签…

15 款最佳建筑渲染软件,适用于 Windows、macOS,免费和付费版本

3D 建模和渲染在建筑行业的各种项目的推广和营销中发挥着非常重要的作用。建筑公司使用 3D 建模和渲染、3D 建筑动画和演练来展示他们的设计。房地产效果图帮助代理商让客户清楚地了解建筑设计、纹理、灯光效果和环境情况。这是非常有价值的&#xff0c;并且在销售设计时提供了…

【Java可执行程序命令】学习路线攻略,史诗级别全汇总 ~

Java可执行程序命令学习路线攻略 &#x1f4d7;文章指路Java可执行命令1、编译工具 javac2、程序启动工具 java3、API文档生成 javadoc4、反编译工具 javap5、打包部署工具 jar6、调试工具 jdb7、C头文件创建 javah8、JWS应用程序启动 javaws9、安装包创建 javapackager10、JAR…