Kotlin高仿微信-第35篇-支付-二维码收款(二维码)
创始人
2024-03-14 04:52:44
0

  Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。

Kotlin高仿微信-项目实践58篇,点击查看详情

效果图:

实现代码:



/*** Author : wangning* Email : maoning20080809@163.com* Date : 2022/5/22 16:12* Description : 二维码收款*/
class QRCodeReceiveFragment : BaseDataBindingFragment() {private var resultBalance : Float = 0foverride fun getLayoutRes()  = R.layout.wc_qrcode_receiveprivate var navController : NavController? = nulloverride fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)super.builder().setTitleContent(R.string.wc_base_top_qrcode_payment).setTitleColor(R.color.white).setBack(R.drawable.wc_white_back)UIStatusUtils.setStatusBarColor(requireActivity(), BaseUtils.getColor(R.color.color_FFD700))navController = findNavController()//设置金额页面点击返回接收的值navController?.currentBackStackEntry?.savedStateHandle?.getLiveData(CommonUtils.QRCommon.BALANCE)?.observe(viewLifecycleOwner){TagUtils.d("接收返回金额:${it}")resultBalance = itif(resultBalance > 0){qrcode_receive_balance.visibility = View.VISIBLErefresh()}}qrcode_receive_set_amount.setOnClickListener {navController?.navigate(R.id.action_qrcode_set_amount)}refresh()if(!EventBus.getDefault().isRegistered(this)){EventBus.getDefault().register(this)}}@Subscribe(threadMode = ThreadMode.MAIN)fun onMessageCallback(paymentBean: PaymentBean) {TagUtils.d("二维码扫描接收的值:${paymentBean.balance} , ${paymentBean.fromAccount} , ${paymentBean.toAccount}")qrcode_receive_from_layout.visibility = View.VISIBLEqrcode_receive_from_divide.visibility = View.VISIBLEif(paymentBean == null){qrcode_receive_from_balance.text = "支付失败!"} else if(paymentBean.operator == CommonUtils.User.OPERATOR_PLUS){qrcode_receive_from_balance.text = paymentBean.balance.toString()BaseUtils.showAvatar(paymentBean.fromAccount, qrcode_receive_from_avatar,qrcode_receive_from_name)processMask(paymentBean.fromAccount, paymentBean.balance)//暂停使用语言播放/*CoroutineScope(Dispatchers.Main).launch {delay(2000)AudioUtils().processStart(paymentBean.balance.toInt())}*/}}//刷新页面private fun refresh(){qrcode_receive_balance.text = resultBalance.toString()var qrBalance = 0f//如果不输入金额, 默认传递0if(resultBalance >  0){qrBalance = resultBalance}CoroutineScope(Dispatchers.IO).launch {var account = DataStoreUtils.getAccount()var userBean =  UserRepository.getUserByAccount(account)var filePath = CommonUtils.Base.getReallyImage(userBean.avatar)var content = CommonUtils.QRCommon.QR_RECEIVE_CODE + qrBalance + ":" + accountCoroutineScope(Dispatchers.Main).launch {//在二维码中显示头像GlideUtils.loadQRCode(qrcode_receive_qrcode, content, filePath)}}}//收款成功后,显示动画private fun processMask(account : String, balace: Float){qrcode_receive_mask_layout.visibility = View.VISIBLEqrcode_receive_mask_balance.text = CommonUtils.Base.getFormatBalanceUnit(balace)BaseUtils.showAvatar(account, qrcode_receive_mask_icon, qrcode_receive_mask_name)CoroutineScope(Dispatchers.Main).launch {delay(1000)val animationSet = AnimationSet(true)animationSet.setAnimationListener(object : Animation.AnimationListener{override fun onAnimationEnd(p0: Animation?) {qrcode_receive_mask_layout.visibility = View.GONE}override fun onAnimationRepeat(p0: Animation?) {}override fun onAnimationStart(p0: Animation?) {}})var scaleAnimation = ScaleAnimation(1f,0.0f,1f,0.0f,Animation.RELATIVE_TO_SELF,1f,Animation.RELATIVE_TO_SELF,1f)scaleAnimation.duration = 1500animationSet.addAnimation(scaleAnimation)qrcode_receive_mask_layout.startAnimation(animationSet)}}override fun onDestroy() {super.onDestroy()EventBus.getDefault().unregister(this)UIStatusUtils.setStatusBarColor(requireActivity(), BaseUtils.getColor(R.color.color_48d17a))}}

相关内容

热门资讯

重庆啤酒1亿元和解嘉威诉讼,业... 传统渠道销售停滞不前,以重庆啤酒为代表的外资品牌业绩持续下滑。 文/每日财报 楚风 重庆啤酒与合作...
原创 李... 李宏毅突发负面风波!北京市朝阳区法院正式向其签发限制消费令,申请人正是湖南芒果娱乐有限公司,此番涉合...
司法守护“菜篮子” 化解租赁纠... 寒冬时节,智慧农贸市场里人来人往。清晨六点,各个摊位的商户们已经开始了一天的忙碌,肉禽区、果蔬区、熟...
濮阳“标准人大”:制度创新让民... 大象新闻记者 张松涛 通讯员 王晓文 濮阳市人大代表任辉的手机里,一张垃圾堆积如山的照片,对应着一...
镇江人保财险:创新“专场调解会... 近日,在镇江市丹徒区人民法院举行的“道路交通事故赔偿专场调解会”上,人保财险镇江市分公司现场履行赔偿...
得邦照明(603303)披露拟... 截至2025年12月25日收盘,得邦照明(603303)报收于13.07元,较前一交易日上涨0.31...
怎样用你的钱救你的命?律师支招... 近日,46岁独身蒋女士的生前身后事,引发社会关注,也引起一些单身人士的焦虑。 蒋女士入院昏迷后,其个...
警方支招!警惕“线上诈骗+线下... 极目新闻记者 王俐燃 通讯员 龚轩 12月25日,湖北省公安厅召开新闻发布会,通报2025年全省公安...
九识智能高光背后:被指侵犯商业... 近日,国内无人货运头部企业九识智能的动态再次引发广泛关注,有媒体报道称,九识智能与菜鸟正洽谈无人车业...