package com.zcwfeng.identify;
import java.util.Random;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class VerifyCodeView extends View {
Paint mPaint;
private final int TEXT_SIZE = 20;
public VerifyCodeView(Context context) {
super(context);
init();
}
public VerifyCodeView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public VerifyCodeView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private void init() {
mPaint = new Paint();
/* Sawtooth */
mPaint.setAntiAlias(false);
/* Set the frame width of the paint */
mPaint.setStrokeWidth(4);
// set the font sieze
mPaint.setTextSize(TEXT_SIZE);
mPaint.setTextAlign(Paint.Align.CENTER);
}
protected void onDraw(Canvas canvas) {
/* set backgroud clolr */
canvas.drawColor(Color.GRAY);
canvas.save();
canvas.translate(10, 10);
/* set paint color */
mPaint.setColor(Color.BLUE);
// build random code
Random random = new Random();
String sRand = "";
for (int i = 0; i < 4; i++) {
String rand = String.valueOf(random.nextInt(10));
canvas.drawText(rand, TEXT_SIZE * i + 4, 10, mPaint);
sRand += rand;
}
saveCode(sRand);
canvas.restore();
}
/**
* Save coding in here
*
* @param code
*/
private void saveCode(String code) {
// TODO
ViewConstant.IDENTIFY_CODE_VALUE = code;
}
}
========================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:Textview="http://schemas.android.com/apk/res/com.zcwfeng.identify"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:layout_width="wrap_content"
android:layout_height="fill_parent">
<TextView android:id="@+id/txt_date" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Verify" />
<EditText android:id="@+id/identifyCode"
android:layout_width="100dp" android:layout_height="wrap_content"
android:layout_marginLeft="8dp" android:layout_marginRight="8dp" />
<com.zcwfeng.identify.VerifyCodeView
android:layout_width="90dp" android:layout_height="28dp"
android:layout_marginTop="10dp">
</com.zcwfeng.identify.VerifyCodeView>
<Button android:id="@+id/print" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="点我验证"/>
</LinearLayout>
</LinearLayout>
===========================
package com.zcwfeng.identify;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.print);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText editText = (EditText) findViewById(R.id.identifyCode);
String code = editText.getText().toString();
if (code.equals(ViewConstant.IDENTIFY_CODE_VALUE)) {
System.err.println(code);
Toast.makeText(MainActivity.this, "ok--->" + code, Toast.LENGTH_LONG);
}else {
System.err.println("error------>"+code);
}
}
});
}
}
分享到:
相关推荐
android 验证码图片的一个小Demo,基础功能都,有了,包括点击更新,产生随机数,验证码位置动态变化等,大家下载后可按需修改。
验证码输入,带下划线,最大输入长度可自行修改,封装好的直接调用就行。 两种类型: 1. 输入框输入——PasswordInputView 2.下划线输入——VerificationInputView MAXlength——控制最大输入长度 mListener——作为...
本文实例讲解了Android自动提取短信验证码解决方案,分享给大家供大家参考,具体内容如下 主要功能及优点 1.收到验证码短信后,自动提取短信中的验证码填写到相应输入框 2.可指定一个号码,只读取与他有关短信,...
自定义验证码倒计时的button ,这也是借鉴而来修改的,希望对你有所帮助
模拟android登陆带验证码的网站69
android应用经常会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,通常,用户收到短信需要最小化应用去查看短信再填入验证码,必然比较麻烦,因此有必要能够自动获得下发的短信验证码...
Android自定义方形输入框,仿滴滴验证码,小篮单车验证码输入框 V1.0.1版效果图 fix bug : fix bug : fix bug :暗文密码模式无效果问题 update :添加输入框平分等间距模式,尺寸设置输入框间距 update :...
系统还提供验证码样式的管理设置功能,不需要更改代码轻易地更改样式; 5. 强大 系统除提供验证码外还提供各种统计功能与IP阻断等功能,安全性完全掌控在开发者手中; 6. 与开发语言无关 系统API接口,通过HTTPS...
本文主要介绍的是短信验证码功能,这里总结了两种常用的方式,可以直接拿来使用。 看图 计时器 说明:这里的及时从10开始,是为了演示的时间不要等太长而修改的。 方法如下 1、第一种方式:Timer /** * ...
现在的应用在注册登录或者修改密码中都用到了短信验证码,那在android中是如何实现获取短信验证码并自动填写的呢? 首先,需要要在manifest中注册接收和读取短信的权限: <uses android:name=”android.permission...
Android类似支付宝密码输入框,美团外卖验证码输入框;支持下划线样式,分区输入框样式,带分割线输入框样式;支持长按粘贴;可设置光标宽高,光标颜色,边框大小,边框颜色,圆角,下划线颜色等等属性(具体可查看...
android发送短信代码,主要用于短信验证等,如获取验证码.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
网络操作工具类(ToolNetwork.java),获取网络信息、更改切换网络等相关操作 日期操作工具类(ToolDateTime.java),获取日期、日期加减、格式化日期、日期转换等操作 XML操作工具类(ToolXml.java),基于DOM/...
网络操作工具类(ToolNetwork.java),获取网络信息、更改切换网络等相关操作 日期操作工具类(ToolDateTime.java),获取日期、日期加减、格式化日期、日期转换等操作 XML操作工具类(ToolXml.java),基于DOM/...
1、根据前人修改符合现在要求 2、内包含mail.jar 3、案例用qq邮箱!修改接口就可以用其他邮箱
注册登录或修改密码功能常常需要输入短信验证码,如何自动获取短信验证码,这篇文章就为大家介绍了Androidcv注册登录自动获取短信验证码的实现代码,感兴趣的小伙伴们可以参考一下
Android滑块拼图验证码控件 Feature 1.简单,实用,只需一两句代码即可使用 2.采用策略模式为使用者开放自定义拼图样式策略,对拼图样式(拼图形状、视觉效果)进行定制 3.自选模式,无滑动条模式(手触移动),有滑动...
网络操作工具类(ToolNetwork.java),获取网络信息、更改切换网络等相关操作 日期操作工具类(ToolDateTime.java),获取日期、日期加减、格式化日期、日期转换等操作 XML操作工具类(ToolXml.java),基于DOM/...
生鲜o2o配送开源系统,包括Android源码+SSH后台管理系统 前台功能划分 我的 登录 账户+密码+验证码 注册 邮箱/手机号注册 订单管理 查看/删除(显示订单详情) 支付(提交订单) 在线...