首页 > 微信应用  > 

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 &amp;&amp; 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高仿微信支付密码输入控件实例代码