*仿支付宝输入密码界面(DiaLog)

  • 自定义对话框实现仿支付宝交易密码输入功能
private void initDialogContent(final Context context, String moneytxt) {dialog = new Dialog(context, R.style.TypeDialog);View view = LayoutInflater.from(context).inflate(R.layout.layout_popup_bottom, null);valueList = new ArrayList<Map<String, String>>();tvList = new TextView[6];setView();//填充键盘数据imgCancel = (ImageView) view.findViewById(R.id.img_cancel);tvForget = (TextView) view.findViewById(R.id.tv_forgetPwd);tvList[0] = (TextView) view.findViewById(R.id.tv_pass1);tvList[1] = (TextView) view.findViewById(R.id.tv_pass2);tvList[2] = (TextView) view.findViewById(R.id.tv_pass3);tvList[3] = (TextView) view.findViewById(R.id.tv_pass4);tvList[4] = (TextView) view.findViewById(R.id.tv_pass5);tvList[5] = (TextView) view.findViewById(R.id.tv_pass6);gridView = (GridView) view.findViewById(R.id.gv_keybord);adapter=new PayViewAdp(context,valueList);gridView.setAdapter(adapter);gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {public void onItemClick(AdapterView<?> parent, View view, int position, long id) {if (position < 11 && position != 9) {    //点击0~9按钮if (currentIndex >= -1 && currentIndex < 5) {      //判断输入位置,要小心数组越界tvList[++currentIndex].setText(valueList.get(position).get("name"));}} else {if (position == 11) {      //点击退格键if (currentIndex - 1 >= -1) {      //判断是否删除完毕————要小心数组越界tvList[currentIndex--].setText("");}}}}});

  • 重写接口,我这边定义了取消交易接口,和忘记交易密码接口按钮
  public interface DialogListener {/*** 重写实现Dialog的确定键点击监听*/public void okClick();/*** 重写实现Dialog消失的时候监听*/public void dissmiss();/*** 重写实现Dialog的取消键点击监听*/public void cancelClick();}public void dissmiss(){dialog.dismiss();}*
  • 3.因为自定义对话框好像无法自动填充全部模版所以需要增加填充代码
 Window win = dialog.getWindow();win.getDecorView().setPadding(0, 0, 0, 0);WindowManager.LayoutParams lp = win.getAttributes();       lp.width = WindowManager.LayoutParams.MATCH_PARENT;    lp.height =WindowManager.LayoutParams.MATCH_PARENT; win.setAttributes(lp);dialog.setContentView(view);dialog.setCanceledOnTouchOutside(false);//设置外部不可点击
  • 设置回调方法,以便监听输入完交易密码后的回调
//设置监听方法,在第6位输入完成后触发
public void setOnFinishInput(final OnPasswordInputFinish pass) {tvList[5].addTextChangedListener(new TextWatcher() {@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}@Override
public void afterTextChanged(Editable s) {if (s.toString().length() == 1) {strPassword = "";    //每次触发都要先将strPassword置空,再重新获取,避免由于输入删除再输入造成混乱for (int i = 0; i < 6; i++) {strPassword += tvList[i].getText().toString().trim();}pass.inputFinish();   //接口中要实现的方法,完成密码输入完成后的响应逻辑}}});}/* 获取输入的密码 */public String getStrPassword() {return strPassword;}
  • setView()方法,填充键盘数据
    private void setView() {/* 初始化按钮上应该显示的数字 */for (int i = 1; i < 13; i++) {Map<String, String> map = new HashMap<String, String>();if (i < 10) {map.put("name", String.valueOf(i));} else if (i == 10) {map.put("name", "");} else if (i == 11) {map.put("name", String.valueOf(0));} else if (i == 12) {map.put("name", "<<");}valueList.add(map);}}
  • 至于适配器数据,就是一个Textview,这边就不详细写出来了,只需要注意这么一点的逻辑就好;
```
//因为第11Position为删除按钮,需要替换掉
if(position == 9){holderView.btnKey.setBackgroundResource(R.drawable.selector_key_del);holderView.btnKey.setEnabled(false);}
if(position == 11){holderView.btnKey.setBackgroundResource(R.drawable.selector_key_del);}

本文参考了他人的逻辑判断,首次发文感谢大家支持;
这边就不上传项目工程,将主要代码上传,有需要的大家可以下载参考一下。
下载链接:http://download.csdn.net/detail/qq_24535769/9591873

仿支付宝输入密码界面相关推荐

  1. android 类似充值界面,Android学习之RecylerView实习仿支付宝充值界面

    今天周末,闲来无事,做了一个仿支付宝充值界面,主要知识点用RecylerView的GridlayoutManager布局管理器,实现不同数据类型,填充不同布局,功能包括单击选中,双击取消,支持可输入金 ...

  2. RecyclerView实现仿支付宝充值界面

    参考博客:https://www.jianshu.com/p/b4bb52cdbeb7 非常感谢上面这位博主的博客给了我非常好的灵感!!! 下面我就先贴一下效果图: 布局代码: <?xml ve ...

  3. android支付宝支付微信支付封装,Android仿支付宝微信支付密码界面弹窗封装dialog...

    一,功能效果 二,实现过程 1,先写xml文件:dialog_keyboard.xml 注意事项 (1),密码部分用的是一个线性布局中6个TextView,并设置android:inputType=& ...

  4. js多方框输入密码_js仿支付宝多方框输入支付密码效果

    上次看到别人说写一个类似支付宝支付密码的输入框效果,今天就想自己写了试试看,大体功能是实现了. 已实现部分:1. 焦点会随着输入数值往后推移 2. 如果输入的非0-9,则会出现提示 3. 按Backs ...

  5. iOS-高仿支付宝手势解锁(九宫格)

    概述 高仿支付宝手势解锁, 通过手势枚举去实现手势密码相对应操作. 详细 代码下载:http://www.demodashi.com/demo/10706.html 基上篇[TouchID 指纹解锁] ...

  6. Android自定义控件开发系列(三)——仿支付宝六位支付密码输入页面

    在移动互联领域,有那么几家龙头一直是我等学习和追求的目标,比如支付宝.微信.饿了么.酷狗音乐等等,大神举不胜举,他们设计的界面.交互方式已经培养了中国(有可能会是世界)民众的操作习惯:举个小例子,对话 ...

  7. Android密码字符为真,Android:仿支付宝交易密码框

    App需要支付场景的时候,都会让用户输入密码交易框,如果用系统或者第三方键盘可能导致密码泄露.因此,比较多的App会自定义密码输入键盘来提供安全性.本文依照支付宝密码输入界面来设计,同时提供随机键盘功 ...

  8. android wear支付宝6,Android自定义View仿支付宝输入六位密码功能

    跟选择银行卡界面类似,也是用一个PopupWindow,不过输入密码界面是一个自定义view,当输入六位密码完成后用回调在Activity中获取到输入的密码并以Toast显示密码.效果图如下: 自定义 ...

  9. Android特效专辑(十二)——仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View...

    Android特效专辑(十二)--仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View 先来看看这个效果 这是我的在Only上添加的效果,说实话,Only现在都还只是半成品,台面都上不了,怪自己技术 ...

  10. iOS 仿支付宝密码支付

    代码地址如下: http://www.demodashi.com/demo/11484.html 一.准备工作 xcode 主要实现输入密码的时候不可见 二.程序实现 实现思路怎样 在支付宝输入密码的 ...

最新文章

  1. C语言语句单选题,C语言练习题
  2. JAVA里tokens意思_Java TokenMetadata.sortedTokens方法代码示例
  3. 第二阶段冲刺10天 第五天
  4. java list 去空字符串_【JAVA基础】list和字符串判空
  5. 3分钟掌握Quartz.net分布式定时任务的姿势
  6. java当中用UDP实现相互交流
  7. JAVA并发篇_公平锁与非公平锁
  8. 【福利】MySQL vs Postgre SQL: 5个你最关注的非技术维度的区别
  9. 深度学习之Image captioning的评分指标篇(BLEU、CIDEr)
  10. Carson带你学Android:RxJava、Retrofit联合使用汇总(含实例教程)
  11. 理解不够,还是不够专业?程序员与架构师之间的联系
  12. 使el-input失焦
  13. css设置背景图片模糊,内容不模糊
  14. 腾讯最难lua面试题答案及解析
  15. UCI数据集和源代码数据挖掘的数据集资源
  16. Siri语音打电话APP
  17. 2018年央企营收利润均创历史最佳 今年国企改革有五重点
  18. 8D报告要如何编写?
  19. BGP SOO 防环机制
  20. 微软苏菲rt能装鸿蒙,微软surfacert平板电脑怎么样 微软surfacert平板电脑性能配置如何...

热门文章

  1. 2021洛谷10月月赛3游记
  2. 自媒体/新媒体写作技巧
  3. 论马云在中国的影响力!
  4. background url怎么填充_CSS background 属性
  5. 【教3妹学算法-每日3题(2)】分割字符串的最大得分
  6. android 自定义字体 ttf,Android利用TTF文件设置字体
  7. Zynga旗下魔法三消手机游戏《Harry Potter: Puzzles Spells》邀请玩家一起参加最新推出的游戏内系列活动——俱乐部挑战赛
  8. 鸿蒙炼体 等级划分,洪荒的等级划分
  9. python中chr()和ord()函数的用法
  10. 西瓜书学习之绪论部分