先上图看看实现效果

1.在 app 的 build.gradle 添加依赖

implementation 'com.luozm.captcha:captcha:1.1.2'

2.将 Captcha 添加至布局文件

 <com.luozm.captcha.Captcha
android:id="@+id/captCha"
android:layout_centerInParent="true"
android:layout_width="match_parent"
android:layout_height="265dp"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
app:mode="mode_bar"
app:src="@drawable/validate"
app:blockSize="50dp"
android:scaleType="centerCrop"
app:max_fail_count="4"/>

3.添加 Java 代码

    public void showw(String advPic) {

        Context context = MainActivity.this;
diaa = new Dialog(context, R.style.edit_AlertDialog_style);
diaa.setContentView(R.layout.item_pict); captcha = diaa.findViewById(R.id.captCha);
final Button btn_mode = diaa.findViewById(R.id.btn_mode);
final Captcha captcha = diaa.findViewById(R.id.captCha);
ImageView cuowu = diaa.findViewById(R.id.im_cuowu);
// Glide.with(getApplication()).load(advPic).into(captcha );
captcha.setBitmap(advPic); btn_mode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (captcha.getMode() == Captcha.MODE_BAR) {
captcha.setMode(Captcha.MODE_NONBAR);
btn_mode.setText("滑动条模式");
} else {
captcha.setMode(Captcha.MODE_BAR);
btn_mode.setText("无滑动条模式");
}
}
}); cuowu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diaa.dismiss();
itData(mLongitude, mLatitude);
}
}); captcha.setCaptchaListener(new Captcha.CaptchaListener() {
@Override
public String onAccess(long time) {
Toast.makeText(MainActivity.this, "验证成功", Toast.LENGTH_SHORT).show(); diaa.dismiss();
diaa.setCanceledOnTouchOutside(true);
return "验证通过"; } @Override
public String onFailed(int count) {
Toast.makeText(MainActivity.this, "验证失败,失败次数" + count, Toast.LENGTH_SHORT).show();
return "验证失败";
} @Override
public String onMaxFailed() {
Toast.makeText(MainActivity.this, "验证超过次数,你的帐号被封锁", Toast.LENGTH_SHORT).show();
return "可以走了";
} }); diaa.show(); diaa.setCanceledOnTouchOutside(true); Window w = diaa.getWindow();
WindowManager.LayoutParams lp = w.getAttributes();
lp.x = 0;
lp.y = 40;
diaa.onWindowAttributesChanged(lp); }
 

Android 滑块验证的更多相关文章

  1. Java + Selenium + OpenCV解决自动化测试中的滑块验证

    最近工作过程中,一个常用的被测网站突然增加了滑块验证环节,导致整个自动化项目失效了. 为了解决这个滑块验证问题,在网上查阅了一些资料后,总结并实现了解决方案,现记录如下. 1.滑块验证思路 被测对象的 ...

  2. winform 仿web 滑块验证

    winform 仿web 滑块验证 效果如下: 源码下载地址: https://download.csdn.net/download/u011392711/11109687

  3. jQuery手机触屏拖动滑块验证跳转插件

    HTML: <!DOCTYPE html> <html lang="en"> <head> <title>jQuery手机触屏拖动滑 ...

  4. 关于selenium实现滑块验证

    关于selenium实现滑块验证 python2.7+selenium2实现淘宝滑块自动认证参考链接:https://blog.csdn.net/ldg513783697/article/detail ...

  5. 原生js实现拖动滑块验证

    拖动滑块验证是现在的网站随处可见的,各式各样的拖动法都有. 下面实现的是某宝的拖动滑块验证: <!DOCTYPE html> <html lang="en"> ...

  6. js移动端滑块验证解锁组件

    本文修改自PC端的js滑块验证组件,PC端使用的是onmousedown,onmouseup,nomousemove.原文找不到了,也是博客园文章,在此感谢广大网友的生产力吧. 说下对插件和组件的理解 ...

  7. js 拖动滑块验证

    备注:拖动滑块时尽量平移,chrome浏览器上没有卡顿情况,但是搜狗极速模式和360极速模式都遇到了卡顿,拖不动情况,应是浏览器内部对事件响应速度导致吧. JS代码: ;(function ($,wi ...

  8. Android证书验证存漏洞 开发者身份信息可被篡改(转)

    原帖地址:http://bbs.pediy.com/showthread.php?p=1335278#post1335278 近期在国内网易,雷锋网等网站爆出谷歌市场上的索尼官方的备份与恢复应用&qu ...

  9. selenium滑块验证

    使用selenium模拟登录解决滑块验证问题   本次主要是使用selenium模拟登录网页端的TX新闻,本来最开始是模拟请求的,但是某一天突然发现,部分账号需要经过滑块验证才能正常登录,如果还是模拟 ...

随机推荐

  1. 寒假作业pta3

    某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T),或者放置一块奶酪(C),或者什么也不放(X).捕鼠夹可重复利 ...

  2. hdu5007 Post Robot AC自动机

    DT is a big fan of digital products. He writes posts about technological products almost everyday in ...

  3. java 中异常处理示例并捕获完整异常内容

    public class Test { public static void main(String[] args) { try { int a = 1; int b = 0; int c = a/b ...

  4. 二十一、springcloud(七)服务网关zuul

    1.简介 Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,在微服务架构中,后端 ...

  5. 服务容错和Hystrix

    一.雪崩效应 在微服务架构中,通常有多个服务层调用,如果某个服务不可用,造成调用的服务也不可用,造成整个系统不可用的情况,叫做雪崩效应 二.Hystrix 放雪崩利器Hystrix,基于Netflix ...

  6. docker push到私有仓库

    1.登录 docker login http://xxxxx.com 2.登录私有hub创建项目 例如项目叫:abc-dev 2.给镜像打tag docker tag 2e25d8496557 xxx ...

  7. Maven+Spirng+Mybatis+CXF搭建WebService服务

    https://jingyan.baidu.com/article/39810a23b1de2fb637fda66c.html

  8. Windows程序设计_21_Win32文件操作

    没什么新的内容,自己的练习代码,供大家点评. /* Windows系统编程--实例 1)复制文件 */ #define UNICODE //#define _UNICODE #include < ...

  9. Activiti图表bpmn对应的xml文件

    当我们绘制了一个bpmn图表,实质是创建了一个xml文件, 右键bpmn文件open  with   xml edit <?xml version="1.0" encodin ...

  10. Java八大排序算法

    Java八大排序算法: package sort; import java.util.ArrayList; import java.util.Arrays; import java.util.List ...