当前位置: 首页 > news >正文

PinView实战教程:5分钟打造银行卡支付风格的PIN码输入框

PinView实战教程:5分钟打造银行卡支付风格的PIN码输入框

【免费下载链接】PinViewA PIN view library for Android. Use to enter PIN/OTP/password etc.项目地址: https://gitcode.com/gh_mirrors/pin/PinView

做支付类 App 或者需要短信验证码(OTP)功能的开发者,一定对这类交互不陌生:一格一格的PIN码输入框,数字填满自动校验,视觉上安全又高级。自己从零手写?要处理输入焦点、光标、格子分隔、动画,工作量真不小。其实用开源的PinView库,5 分钟就能在 Android 项目里落地同款银行卡支付风格效果。

PinView 是一个轻量级 Android 组件库,专用于 PIN/OTP/密码输入,基于 EditText 封装,兼容 Android 4.1+(API 16),支持矩形、下划线、无边框等多种样式,还自带输入动画与密码遮蔽功能。

一、为什么选择 PinView?四个理由无法拒绝

  • 零学习成本:PinView 继承自 EditText,所有 EditText 的 API 都能直接复用;
  • 开箱即用:一个 XML 标签即可生成完整的 PIN 码输入框;
  • 样式丰富:rectangle(矩形框)、line(下划线)、none(无边框)三种形态随意切换;
  • 交互完备:支持光标闪烁、输入动画、密码隐藏、输满隐藏边框等细节。

二、快速集成:3 步引入 PinView 依赖

第 1 步:添加 Gradle 依赖

build.gradle的 dependencies 中添加一行即可(MavenCentral 仓库):

implementation 'io.github.chaosleung:pinview:1.4.4'

💡 小提示:旧版使用 JCenter 的com.chaos.view:pinview:1.4.4,但 JCenter 已停止服务,请优先使用 MavenCentral 版本。

第 2 步:在布局中放置 PinView

在 XML 布局中添加组件,并指定位数、尺寸与样式:

<com.chaos.view.PinView android:id="@+id/pinView" style="@style/PinWidget.PinView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="number" app:itemCount="4" app:viewType="rectangle" app:itemWidth="48dp" app:itemHeight="48dp" app:lineColor="@color/line_colors" />

第 3 步:在 Activity 中监听输入

PinView pinView = findViewById(R.id.pinView); pinView.addTextChangedListener(new TextWatcher() { @Override public void afterTextChanged(Editable s) { if (s.length() == 4) { verifyPin(s.toString()); // 输满 4 位自动发起验证 } } });

到这里,一个银行卡支付风格的 PIN 码输入框就完成了!完整示例可参考 MainActivity.java 与 activity_main.xml。

三、最全 PIN 码输入框样式定制指南

PinView 提供了丰富的自定义属性,核心定义都在 attrs.xml 中,常用的如下:

属性作用示例值
itemCountPIN 码位数4、6
itemWidth / itemHeight每个格子的宽高48dp
itemSpacing格子间距8dp
itemRadius格子圆角半径4dp
lineWidth / lineColor边框粗细与颜色2dp
viewType样式类型rectangle / line / none
cursorColor / cursorWidth光标颜色与粗细2dp
itemBackground格子背景drawable
hideLineWhenFilled填满后隐藏边框true

🏦 银行风:矩形方框样式

viewType="rectangle"配合圆角itemRadius与边框色lineColor,就是最经典的银行卡支付密码框。

✒️ 极简风:下划线样式

viewType="line"只显示底部横线,类似 iOS 验证码的输入体验,简洁又高级。

🕶️ 隐形风:无边框样式

viewType="none"完全隐藏边框,配合itemBackground自定义背景,自由发挥空间更大。

下面这张动图演示了 PIN 码输入过程中光标的移动与边框高亮反馈,各种样式的实际效果一目了然:

四、进阶技巧:让 PIN 码输入框更好用

✨ 一键开启输入动画

一行代码让每次输入都带平滑动画,交互体验立刻升级:

pinView.setAnimationEnable(true);

✨ 切换密码遮蔽模式

验证码或密码不想明文显示?直接开启密文:

pinView.setPasswordHidden(true); pinView.setTransformationMethod(new PasswordTransformationMethod());

✨ 当前输入位高亮引导

通过state_selected状态让正在输入的格子用不同颜色高亮,引导用户聚焦:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/line_selected" android:state_selected="true" /> <item android:color="@color/line_default" /> </selector>

源码解析:所有绘制与动画逻辑都封装在 PinView.java 中,想深入研究的同学可以直接阅读源码。

五、常见问题与避坑指南

  • 问:PinView 支持几位密码?答:itemCount任意设置,4 位、6 位、8 位都可以,动态修改也支持。
  • 问:支持短信验证码自动填充吗?答:PinView 本质是 EditText,配合系统的自动填充 API 即可无缝使用。
  • 问:如何本地运行示例项目?答:克隆仓库 https://gitcode.com/gh_mirrors/pin/PinView 后,用 Android Studio 打开 sample 模块直接运行,所有样式与交互一目了然。

六、总结

PinView 以极低的接入成本,帮你快速打造银行卡支付风格的PIN 码输入框。无论是支付密码、登录 PIN,还是短信验证码(OTP),一个组件全部搞定。还在等什么?赶紧在你的 Android 项目里试试吧!

【免费下载链接】PinViewA PIN view library for Android. Use to enter PIN/OTP/password etc.项目地址: https://gitcode.com/gh_mirrors/pin/PinView

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1406510/

相关文章:

  • 配置dns主从服务
  • 舟山财务大数据分析师考试难不难?中山优才教育报考全攻略 - 学历提升热点资讯
  • 彻底卸载 OneDrive 的一键开源脚本:几分钟告别系统自带云盘
  • 2026珠三角配方还原服务商综合实力推荐:7家机构分级测评 - 优质品牌中立测评推荐
  • Word 文档对比工具 ExtDiff 上手教程:3 种用法 5 分钟搞定 docx 文件差异
  • 游戏资源解密工具实战:用 RPG Maker Decrypter 撬开你喜欢的游戏素材库
  • 一次代理,全平台通吃:res-downloader 嗅探视频号、抖音、小红书等网络资源下载指南
  • TFTPD64从零上手:一台电脑同时跑起TFTP、DHCP、DNS、SNTP与Syslog的完整配置教程
  • 2026职业心理风险测评公司推荐,核心作用适用场景与常见选型误区 - 衡识人才测评
  • 2026年上海小程序定制开发公司哪家值得推荐?这份实用指南供你参考 - 产品推荐官
  • 免费好用的OneDrive卸载工具:3步清理残留,一次卸净不再复活
  • Whisky 终极指南:5 分钟零门槛在 Mac 上运行 Windows 软件的傻瓜式神器
  • 汉堡品牌加盟哪家专业:【美洲汉堡】流程完备 - 松梢月冷
  • 30+ 款 Adobe Illustrator 脚本完整指南:批量排版、画板管理与特效制作一次搞定
  • 组策略编辑器用不了?Policy Plus完整免费教程,让任意Windows版本快速开启策略管理
  • 上海离婚后子女抚养权律所推荐:2026年8月上海离婚后子女抚养权律所服务重点与儿童利益最大化原则适用 - 品牌深度评测
  • Windows系统优化实战指南:Dism++逐个击破C盘爆满、更新失败与系统崩溃
  • B2B SaaS Kit 常见问题与路线图:创始人视角的完整评估
  • HR实操|2026职业心理风险测评公司推荐,6个核心标准避开测评误区 - 衡识人才测评
  • TFTPD64网络服务配置实战手册:从零搭建TFTP与DHCP服务的完整指南
  • Windows端口占用排查与解决:netstat与taskkill实战指南
  • 当代大学生多维评价体系解析:从学术科研到社会责任的成长路径
  • IDEA笔记插件横评:IDE Notes、Code Notes、Notebook谁是你的第二大脑?
  • JamSpell 评测体系全解析:如何复现79.53% Fix Rate基准实验
  • 汉堡品牌加盟哪家服务好:【美洲汉堡】助企启航 - 云溪自乐
  • 零基础网页视频剪辑:5分钟快速上手react-html5-video-editor
  • 减少 60% 打包体积:react-avatar 按需引入与 tree shaking 实战
  • 把录音棚装进口袋,讯飞AI录音笔Magic Hi-Res认证让户外录制棚级音质 - 天下观知
  • 2026珠三角中小微企业配方还原高性价比机构推荐指南 - 优质品牌中立测评推荐
  • 自建房大宅落地实拍|欧富洛爱里古夷苏木新中式,把东方国奢搬进家 - 优选案例分享