android 按顺序点选验证码

 

 最近需求要用到点选验证码,百度一波之后发现android端的点选验证码基本没有,没办法只能造轮子了,初步实现功能,欢迎指教,纠正!

效果截图如下

android 按顺序点选验证码_第1张图片

github项目地址  https://github.com/zhengshuaizhou/verifyCode

项目中两个主要的类,一个是生成汉字的类,一个是继承RelativeLayout的自定义布局

自定义布局在xml文件中 直接使用就行,设置宽高即可

在activity中使用的时候是这样的

        tv = findViewById(R.id.tv);
        cf = findViewById(R.id.cf);
        bt = findViewById(R.id.bt);
       //设置静态资源背景图
        cf.setBackground(ContextCompat.getDrawable(this,R.drawable.douyu));

        String str = "请点选   " + cf.getVerifyText();
        tv.setText(str);

        //验证回调
        cf.setOnVerifyListener(new ClickVerifyCode.VerifyListener() {
            @Override
            public void success() {
                Toast.makeText(MainActivity.this,"验证成功",Toast.LENGTH_LONG).show();
            }

            @Override
            public void fail() {
                Toast.makeText(MainActivity.this,"验证失败",Toast.LENGTH_LONG).show();
            }
        });

        //重置
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                cf.reSet();
                String str = "请点选   " + cf.getVerifyText();
                tv.setText(str);
            }
        });

有待优化,有兴趣的可以一起优化一下

你可能感兴趣的:(android 按顺序点选验证码)