千家信息网

Android怎么实现仿支付宝密码输入效果

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,本篇内容主要讲解"Android怎么实现仿支付宝密码输入效果",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android怎么实现仿支付宝密码输入效果"吧!
千家信息网最后更新 2024年11月18日Android怎么实现仿支付宝密码输入效果

本篇内容主要讲解"Android怎么实现仿支付宝密码输入效果",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android怎么实现仿支付宝密码输入效果"吧!

效果图

1、如何使用,可以设置自己的进入退出动画,不设置则没有动画效果,自己觉得封装之后还是非常用好的。

private MyInputPwdUtil myInputPwdUtil;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myInputPwdUtil = new MyInputPwdUtil(this); myInputPwdUtil.getMyInputDialogBuilder().setAnimStyle(R.style.dialog_anim); //可以定制自己进入退出动画,不设置没有动画 myInputPwdUtil.setListener(new InputPwdView.InputPwdListener() { @Override public void hide() {  myInputPwdUtil.hide(); } @Override public void forgetPwd() {  Toast.makeText(MainActivity.this, "忘记密码", Toast.LENGTH_SHORT).show(); } @Override public void finishPwd(String pwd) {  Toast.makeText(MainActivity.this, pwd, Toast.LENGTH_SHORT).show(); } });}public void show(View view){ myInputPwdUtil.show();}

2、输入框实现主要代码,就是绘制矩形和中间的圆形而已。

 int height = getHeight(); int width = getWidth(); //画边框 RectF rect = new RectF(0, 0, width, height); borderPaint.setColor(borderColor); canvas.drawRoundRect(rect, borderRadius, borderRadius, borderPaint); //画内容区域 RectF rectContent = new RectF(rect.left + defaultContentMargin, rect.top + defaultContentMargin, rect.right - defaultContentMargin, rect.bottom - defaultContentMargin); borderPaint.setColor(getResources().getColor(R.color.myInputPwdBase_gray)); canvas.drawRoundRect(rectContent, borderRadius, borderRadius, borderPaint); //画分割线:分割线数量比密码数少1 borderPaint.setColor(borderColor); borderPaint.setStrokeWidth(defaultSplitLineWidth); for (int i = 1; i < passwordLength; i++) { float x = width * i / passwordLength; canvas.drawLine(x, 0, x, height, borderPaint); } //画密码内容 float px, py = height / 2; float halfWidth = width / passwordLength / 2; for (int i = 0; i < textLength; i++) { px = width * i / passwordLength + halfWidth; canvas.drawCircle(px, py, passwordWidth, passwordPaint); }

3、作为library的module,在定义使用到的属性的时候最好特别能区分开,设置特定的开头,这样能避免引入自己的工程之后导致冲突。

到此,相信大家对"Android怎么实现仿支付宝密码输入效果"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0