PinView API参考速查手册全部属性与方法一表看懂【免费下载链接】PinViewA PIN view library for Android. Use to enter PIN/OTP/password etc.项目地址: https://gitcode.com/gh_mirrors/pin/PinViewPinView 是 GitHub 加速计划 / pin 项目下的一个轻量级 Android PIN 输入组件库专门用于输入 PIN 码、OTP 验证码和密码支持 Android 4.1API 16及以上版本。本文为你整理了一份 PinView API 参考速查手册把它的全部 XML 属性、Java/Kotlin 方法、默认值和应用场景浓缩成一张表无论你是刚接触验证码输入控件的新手还是想快速上手的 Android 开发者都能一表看懂、拿来即用。一分钟快速认识 PinViewAndroid 验证码输入控件是什么PinView 本质上是继承自AppCompatEditText的自定义控件因此它天然拥有 EditText 的全部能力监听输入、设置字体、处理焦点等同时额外提供了格子式的 PIN 码展示逻辑。核心源码位于 PinView.java全部 XML 属性声明在 attrs.xml 中。它的最大特色是viewType 三种显示模式rectangle方框、line下划线、none无边框加上可自定义的光标、圆角、间距和选中态高亮足以覆盖绝大多数支付、登录、验证码场景的 UI 需求。最简单的接入步骤添加依赖并放入布局在build.gradle中添加依赖Maven Centraldependencies { implementation io.github.chaosleung:pinview:1.4.4 }然后在布局中直接使用com.chaos.view.PinView android:idid/pinView stylestyle/PinWidget.PinView android:layout_widthwrap_content android:layout_heightwrap_content android:inputTypenumber app:itemCount4 app:viewTyperectangle /完整的示例布局可参考 activity_main.xmlJava 调用示例在 MainActivity.java。PinView 全部 XML 属性速查表下表汇总了 PinView 的所有自定义属性、类型、默认值及作用默认值定义在 dimens.xml 中属性类型默认值作用说明app:itemCountinteger4PIN 码总长度位数app:itemWidthdimension48dp每个格子的宽度app:itemHeightdimension48dp每个格子的高度app:itemRadiusdimension5dp格子的圆角半径app:itemSpacingdimension5dp格子之间的间距app:lineWidthdimension2dp边框/下划线的宽度app:lineColorcolor/colorStateList文本色边框颜色支持状态选择器app:viewTypeenumrectangle显示模式rectangle / line / noneandroid:cursorVisiblebooleantrue是否显示输入光标app:cursorWidthdimension2dp光标宽度app:cursorColorcolor文本色光标颜色android:itemBackgroundreference无格子背景Drawableapp:hideLineWhenFilledbooleanfalse输入后是否隐藏该格边框viewType 三种显示样式怎么选rectangle方框最常用的验证码样式适合登录、支付验证码line下划线清爽的输入线条风格适合注册/登录表单none无边框配合背景图片或纯文字展示定制空间最大。lineColor 选中态高亮配置技巧想实现当前输入格高亮效果可以用状态选择器selector配合state_selected状态selector xmlns:androidhttp://schemas.android.com/apk/res/android item android:colorcolor/line_selected android:state_selectedtrue / item android:colorcolor/line_focused android:state_focusedtrue / item android:colorcolor/line_default / /selector再在 XML 中设置android:cursorVisibletrue即可示例颜色资源见 sample 模块的line_colors.xml。PinView 常用方法速查表Java/Kotlin API 一表看懂PinView 的公开方法同样简洁全部位于 PinView.java方法作用说明setItemCount(int)/getItemCount()动态设置/读取 PIN 长度setItemWidth(int)/getItemWidth()设置/读取格子宽度setItemHeight(int)/getItemHeight()设置/读取格子高度setItemRadius(int)/getItemRadius()设置/读取圆角半径setItemSpacing(int)/getItemSpacing()设置/读取格子间距setLineWidth(int)/getLineWidth()设置/读取边框宽度setLineColor(int)/setLineColor(ColorStateList)设置边框颜色单色或状态色getLineColors()/getCurrentLineColor()读取状态色列表 / 当前颜色setAnimationEnable(boolean)开启输入文字时的缩放动画setHideLineWhenFilled(boolean)输入后隐藏对应格边框setItemBackground(Drawable)设置格子背景图setItemBackgroundColor(int)设置格子背景纯色setItemBackgroundResources(int)通过资源 ID 设置格子背景setCursorVisible(boolean)/isCursorVisible()控制光标显示setCursorColor(int)/getCursorColor()设置/读取光标颜色setCursorWidth(int)/getCursorWidth()设置/读取光标宽度setPasswordHidden(boolean)/isPasswordHidden()程序化切换明文/密文显示setTypeface(Typeface)设置字体同步动画画笔代码动态配置 PIN 长度与尺寸大多数场景用 XML 就够了但动态创建时可以用 Java/Kotlin 一步到位PinView pinView findViewById(R.id.pinView); pinView.setItemCount(6); // 6 位验证码 pinView.setItemWidth(dp2px(52)); // 格子宽 52dp pinView.setItemRadius(dp2px(8)); // 圆角 8dp pinView.setAnimationEnable(true); // 开启输入动画输入动画与光标控制调用setAnimationEnable(true)后每输入一位数字都会触发一个约 150ms 的缩放淡入动画内部通过ValueAnimator实现见 PinView.java 的setupAnimator()体验非常跟手。密码明文与密文切换与传统的setTransformationMethod()不同PinView 提供了更直观的setPasswordHidden(boolean)true时以圆点显示false时显示明文非常适合做眼睛开关切换示例见 SecondActivity.java。常见问题与避坑提示圆角不能超过半宽rectangle模式下itemRadius不能大于itemWidth的一半line模式下不能超过lineWidth的一半否则会抛出IllegalArgumentException校验逻辑见 PinView.java 的checkItemRadius()。itemSpacing0dp时的边框重叠间距为 0 时库会自动做边框宽度补偿避免相邻格子线条变粗无需手动处理。建议使用官方样式直接引用style/PinWidget.PinView定义在 styles.xml它已处理好背景透明、单行、隐藏系统光标等细节。总结PinView 是一款小而美的 Android PIN 输入组件库属性数量不多但覆盖了尺寸、颜色、圆角、间距、光标、动画、背景全部定制点方法命名直观配合本文的速查表即可快速定位 API。如果你正在开发登录、支付或任何需要 OTP 验证码输入界面的 App这份 PinView API 参考速查手册值得收藏备用。【免费下载链接】PinViewA PIN view library for Android. Use to enter PIN/OTP/password etc.项目地址: https://gitcode.com/gh_mirrors/pin/PinView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考