充值画面——金额的选择和输入

先看一下做好的效果图
金额的选择和输入
这个充值画面看着还挺简单的,几个预定的充值金额,还有一个手动输入框,但涉及到了蛮多的知识点,还是花费了一点时间的,这里总结一下:

  1. 要求是只能输入数字,最多小数点后两位,下方的充值金额小计一栏始终显示两位小数,除非金额为0,才可以显示为0。
  2. GridView 的最后一项是EditText ,点击的时候不能在OnItemClickListener 中监听到,通过OnFocusChangeListener 进行了监听。
  3. 从输入框切换到具体金额时,清除输入框的焦点clearFocus(),以便下次点击输入框时能回调OnFocusChangeListener 中的方法。

  4. 从输入框切换到具体金额时,隐藏键盘,同时避免隐藏时影响画面布局。

  5. 从具体金额切换到输入框时,提取输入框中已经输入的金额到小计一栏。

  6. 控制输入框中的输入,利用正则表达式结合TextWatcher() 监听器,当输入不符合规定时,动态改变显示的数字(要避免进入死循环),再实时更新到小计一栏。

    最后的效果还是比较6的,需求已经都实现了,美中不足的是键盘还能调出不是数字的,虽然不能输入非数字的,暂时没找到这个的解决方案。
    看了一下支付宝的金额键盘是纯数字的,比较好。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值