Android高仿微信支付密码输入控件实例代码
- 微信应用
- 2024-10-14 12:51:01
Android高仿微信支付密码输入控件实例代码
这篇文章主要为大家详细介绍了Android高仿微信支付密码输入控件的具体实现代码,供大家参考,具体内容如下
这篇文章主要为大家详细介绍了Android高仿微信支付密码输入控件的具体实现代码,供大家参考,具体内容如下
这篇文章主要为大家详细介绍了Android高仿微信支付密码输入控件的具体实现代码,供大家参考,具体内容如下
像微信支付密码控件,在app中是一个多么司空见惯的功能。最近,项目需要这个功能,于是乎就实现这个功能。老样子,投篮需要找准角度,变成需要理清思路。对于这个"小而美"的控件,我们思路应该这样子。
Ⅰ、将要输入密码数量动态通过代码加载出来。
Ⅱ、利用Gridview模拟产生一个输入数字键盘,并且按照习惯从屏幕底部弹出来。
Ⅲ、对输入数字键盘进行事件监听,将这个输入数字填入到这个密码框中,并且当您输入密码长度一致的时候,进行事件回调。
这个思维导图应该是这样的:
首先,我们要根据需求动态加载密码框,相应的代码如下:
for (int i = 0; i <p style="text-align: left;">我们这里密码长度设置为6,将这6个密码框控件添加到盛放这些控件的父控件中去,并且每个密码控件中都有一个分隔控件。并且把每个密码输入控件放入控件<a href="http://www.php.cn/wiki/58.html" target="_blank">数组</a>,以便我们进行接下来的操作。</p><p style="text-align: left;">然后了,我们利用Gridview产生一个12宫格的模拟数字键盘,这样模拟键盘样子是这样的: </p><p style="text-align: left;"><img id="theimg" alt="Android高仿微信支付密码输入控件实例代码" src="https://img.php.cn/upload/article/000/000/013/5af3226d848a94d983706e2d39c03dd6-1.jpg" style="max-width:90%" style="max-width:90%" title="Android高仿微信支付密码输入控件实例代码"></p><p style="text-align: left;">源代码应该是这样的: </p><pre class="brush:php;toolbar:false"> /** * 加载数据的代码 */ private void initData() { /* 初始化按钮上应该显示的数字 */ for (int i = 1; i map = new HashMap<string>(); if (i parent, View view, int position, long id) { if (position = -1 && currentIndex = -1) { // 判断是否删除完毕————要小心数组越界 tvList[currentIndex--].setText(""); } } } } }); } /** * GrideView的适配器 */ BaseAdapter adapter = new BaseAdapter() { @Override public int getCount() { return valueList.size(); } @Override public Object getItem(int position) { return valueList.get(position); } @Override public long getItemId(int position) { return position; } @SuppressWarnings("deprecation") @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = View.inflate(context, R.layout.item_gride, null); viewHolder = new ViewHolder(); viewHolder.btnKey = (TextView) convertView .findViewById(R.id.btn_keys); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.btnKey.setText(valueList.get(position).get("name")); if (position == 9||position==11) { viewHolder.btnKey.setBackgroundDrawable(Utils.getStateListDrawable(context)); viewHolder.btnKey.setEnabled(false); } if (position == 11) { viewHolder.btnKey.setBackgroundDrawable(Utils.getStateListDrawable(context)); } return convertView; } }; /** * 存放控件 */ public final class ViewHolder { public TextView btnKey; }</string>Android高仿微信支付密码输入控件实例代码由讯客互联微信应用栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Android高仿微信支付密码输入控件实例代码”