Android 滑块验证
先上图看看实现效果

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 滑块验证的更多相关文章
- Java + Selenium + OpenCV解决自动化测试中的滑块验证
最近工作过程中,一个常用的被测网站突然增加了滑块验证环节,导致整个自动化项目失效了. 为了解决这个滑块验证问题,在网上查阅了一些资料后,总结并实现了解决方案,现记录如下. 1.滑块验证思路 被测对象的 ...
- winform 仿web 滑块验证
winform 仿web 滑块验证 效果如下: 源码下载地址: https://download.csdn.net/download/u011392711/11109687
- jQuery手机触屏拖动滑块验证跳转插件
HTML: <!DOCTYPE html> <html lang="en"> <head> <title>jQuery手机触屏拖动滑 ...
- 关于selenium实现滑块验证
关于selenium实现滑块验证 python2.7+selenium2实现淘宝滑块自动认证参考链接:https://blog.csdn.net/ldg513783697/article/detail ...
- 原生js实现拖动滑块验证
拖动滑块验证是现在的网站随处可见的,各式各样的拖动法都有. 下面实现的是某宝的拖动滑块验证: <!DOCTYPE html> <html lang="en"> ...
- js移动端滑块验证解锁组件
本文修改自PC端的js滑块验证组件,PC端使用的是onmousedown,onmouseup,nomousemove.原文找不到了,也是博客园文章,在此感谢广大网友的生产力吧. 说下对插件和组件的理解 ...
- js 拖动滑块验证
备注:拖动滑块时尽量平移,chrome浏览器上没有卡顿情况,但是搜狗极速模式和360极速模式都遇到了卡顿,拖不动情况,应是浏览器内部对事件响应速度导致吧. JS代码: ;(function ($,wi ...
- Android证书验证存漏洞 开发者身份信息可被篡改(转)
原帖地址:http://bbs.pediy.com/showthread.php?p=1335278#post1335278 近期在国内网易,雷锋网等网站爆出谷歌市场上的索尼官方的备份与恢复应用&qu ...
- selenium滑块验证
使用selenium模拟登录解决滑块验证问题 本次主要是使用selenium模拟登录网页端的TX新闻,本来最开始是模拟请求的,但是某一天突然发现,部分账号需要经过滑块验证才能正常登录,如果还是模拟 ...
随机推荐
- javascript常见的几种事件类型
第一种事件类型:onchange() <body> <select id="sheng" onchange="fn1();"> < ...
- robot framework程序运行过程中,遇到点击事件之后,未出现点击之后的效果(求解)
1.click Element操作,在实际过程中偶然会出现,日志显示已点击成功,但是实际自动化页面,没有点击成功之后的操作 现象: 现象描述:程序执行到点击侧边栏的[人员信息]之后,日志显示已经点击成 ...
- C# 利用反射完成计算器可扩展功能
一个主要的窗体程序,两个输入框,一个label using System; using System.Collections.Generic; using System.ComponentModel; ...
- Makefile中的ifeq 多条件使用
Makefile中的ifeq 多条件使用 网上关于makefile中ifeq的介绍已经很多了,为什么我还要在写这篇文章,因为他们只说了if else两种条件的情况,并没有讲多于两种条件情况的使用. 多 ...
- Entity Framework教程翻译 ---- 系列教程
Entity Framework教程(第二版) (翻译)Entity Framework技巧系列之十四 - Tip 56 (翻译)Entity Framework技巧系列之十三 - Tip 51 - ...
- 1、Sql-oracle-日期问题
1.月份差 --MONTHS_BETWEEN(date2,date1) select months_between('19-12月-1999','19-3月-1999') from dual; sel ...
- ID的故事
随心所欲.这个时代比较中二吧,刚出国,也买了房,年纪轻轻的觉得自己好像很牛B的样子. 失败悲观的路人甲.大约是13年的时候,突遭重击,一下子悲观失望,死的心都有.为此买了那种自杀也会给赔偿的保险(买后 ...
- 关于APS在企业生产计划上的应用
本人本身是一个码农,已经服务了共和国各项事业(好像是说得有点漂,没办法段子看多了)大约一半工作时候了(按60岁退休的话),从一线的小码农,到现在成了老农,出产了不少或优或劣的各种码,几乎啥都做过.近几 ...
- System类学习笔记
最近在学习源码的过程中发现:很多深层次的代码都用到了一个类System类,所以决定对System类一探究竟 本文先对System类进行了剖析,然后对System类做了总结 一.首先对该类的中的所有字段 ...
- C#编程经验-enum and struct
enum,store fixed values,use array replace,not use this data-structurestruct,store several variables, ...