android 信息验证动画效果

在这里插入图片描述
layout_check_pro

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/parent"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"><ImageViewandroid:id="@+id/line"android:layout_width="@dimen/dp_2"android:layout_height="@dimen/dp_20"android:layout_marginStart="@dimen/dp_9"android:background="#D3D3D3" /><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center_vertical"android:orientation="horizontal"><ImageViewandroid:id="@+id/iv_pro"android:layout_width="@dimen/dp_20"android:layout_height="@dimen/dp_20"android:src="@mipmap/icon_proc" /><TextViewandroid:id="@+id/tv_pro"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="@dimen/dp_16"android:text="大额提现3000元税款缴纳成功"android:textColor="@color/_333333"android:textSize="@dimen/sp_14"android:textStyle="bold" /></LinearLayout>
</LinearLayout>

dialog_act_info_verify

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/iv_bg"android:layout_width="@dimen/dp_280"android:layout_height="@dimen/dp_350"android:background="@mipmap/bg_info_verify"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><LinearLayoutandroid:layout_width="@dimen/dp_244"android:layout_height="@dimen/dp_228"android:layout_marginBottom="@dimen/dp_18"android:gravity="center_horizontal"android:orientation="vertical"app:layout_constraintBottom_toBottomOf="@id/iv_bg"app:layout_constraintEnd_toEndOf="@id/iv_bg"app:layout_constraintStart_toStartOf="@id/iv_bg"><LinearLayoutandroid:layout_width="@dimen/dp_244"android:layout_height="@dimen/dp_228"android:layout_marginTop="@dimen/dp_20"android:orientation="vertical"android:paddingStart="@dimen/dp_22"><includeandroid:id="@+id/ll_pro1"layout="@layout/layout_check_pro" /><includeandroid:id="@+id/ll_pro2"layout="@layout/layout_check_pro" /><includeandroid:id="@+id/ll_pro3"layout="@layout/layout_check_pro" /><includeandroid:id="@+id/ll_pro4"layout="@layout/layout_check_pro" /><includeandroid:id="@+id/ll_pro5"layout="@layout/layout_check_pro" /></LinearLayout></LinearLayout></androidx.constraintlayout.widget.ConstraintLayout>
package com.zhe.song.wo.will.zgwh.dialogimport android.content.Context
import android.view.LayoutInflater
import androidx.core.graphics.toColorInt
import com.zhe.song.wo.will.zgwh.R
import com.zhe.song.wo.will.zgwh.constans.DialogCon
import com.zhe.song.wo.will.zgwh.databinding.DialogActInfoVerifyBinding
import com.zhe.song.wo.will.zgwh.databinding.LayoutCheckProBinding
import com.zhe.song.wo.will.zgwh.spf.SPFUserInfo
import com.zhe.song.wo.will.zgwh.utils.animationRotate
import com.zhe.song.wo.will.zgwh.utils.gone
import com.zhe.song.wo.will.zgwh.utils.hide
import com.zhe.song.wo.will.zgwh.utils.show
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch/*** 个人信息验证表格* @author zph* @date 2025/07/15* @constructor 创建DialogActInfoVerify* @param context 语境*/
class DialogActInfoVerify(context: Context) : DialogBase<DialogActInfoVerifyBinding>(context) {override fun postDismiss() {iDialogActionListener?.onDialogActionListener(DialogCon.DIALOG_信息验证)}/*** 后续连续登录X天,且(6-x)*10关;提现条件为5-X天,且每天过(6-x)*10关;* 直到条件为:在登录0天,且过60关,即可进入第七个档位*/override fun postShow() {SPFUserInfo.withDrawalState = truevar day = SPFUserInfo.needLoginDayif (day <= 0) {day = 0SPFUserInfo.wxBannerLevel8 = 1}val needLevel = 60 - (day * 10)if (SPFUserInfo.needGameLevel == 0) {SPFUserInfo.needGameLevel = SPFUserInfo.gameLevel + needLevel}val finishLevel = SPFUserInfo.needGameLevel - SPFUserInfo.gameLevelviewBinding.llPro1.line.gone()viewBinding.llPro1.parent.hide()viewBinding.llPro2.parent.hide()viewBinding.llPro3.parent.hide()viewBinding.llPro4.parent.hide()viewBinding.llPro5.parent.hide()coroutineScope.launch {loadLayout(viewBinding.llPro1, "登陆验证中...")delay(1500)loadLayoutSucccess(viewBinding.llPro1, "需要再登录(${6 - day}/6)天")loadLayout(viewBinding.llPro2, "网络环境验证中...")delay(1500)loadLayoutSucccess(viewBinding.llPro2, "网络环境安全验证通过")loadLayout(viewBinding.llPro3, "游戏行为验证中...")delay(1500)loadLayoutSucccess(viewBinding.llPro3, "游戏外挂行为验证通过")loadLayout(viewBinding.llPro4, "小助手解锁验证中...")delay(1500)loadLayoutSucccess(viewBinding.llPro4, "小助手解锁数量(${SPFUserInfo.assistantId})")loadLayout(viewBinding.llPro5, "闯关关卡验证中...")delay(1500)if (day == 0) {loadLayoutError(viewBinding.llPro5, "今日需要通过最后一关")} else {if (finishLevel <= 0) {loadLayoutSucccess(viewBinding.llPro5, "今日闯关已完成")} else {loadLayoutError(viewBinding.llPro5, "今日需要通过${needLevel - finishLevel}/${needLevel}关")}}delay(3000)dismiss()}}fun loadLayout(llPro: LayoutCheckProBinding, str: String) {llPro.parent.show()llPro.line.setBackgroundColor("#D3D3D3".toColorInt())llPro.ivPro.setImageResource(R.mipmap.icon_proc)llPro.ivPro.animationRotate()llPro.tvPro.setTextColor("#999999".toColorInt())llPro.tvPro.text = str}fun loadLayoutSucccess(llPro: LayoutCheckProBinding, str: String) {llPro.line.setBackgroundColor("#20C403".toColorInt())llPro.ivPro.clearAnimation()llPro.ivPro.setImageResource(R.mipmap.icon_suc)llPro.tvPro.setTextColor("#333333".toColorInt())llPro.tvPro.text = str}fun loadLayoutError(llPro: LayoutCheckProBinding, str: String) {llPro.line.setBackgroundColor("#FF0000".toColorInt())llPro.ivPro.clearAnimation()llPro.ivPro.setImageResource(R.mipmap.icon_error)llPro.tvPro.setTextColor("#FF0000".toColorInt())llPro.tvPro.text = str}override fun createViewBinding(): DialogActInfoVerifyBinding {return DialogActInfoVerifyBinding.inflate(LayoutInflater.from(context))}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89787.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【iOS】继承链

文章目录前言什么是继承链OC中的根类关于NSProxy关键作用1.方法查找与动态绑定2. 消息转发3. **类型判断与多态**继承链的底层实现元类的继承链总结前言 在objective-c中&#xff0c;继承链是类与类之间通过父类&#xff08;Superclass&#xff09;关系形成的一层层继承结构&am…

论文阅读:Instruct BLIP (2023.5)

文章目录InstructBLIP&#xff1a;迈向通用视觉语言模型的指令微调研究总结一、研究背景与目标二、核心方法数据构建与划分模型架构训练策略三、实验结果零样本性能消融实验下游任务微调定性分析可视化结果展示四、结论与贡献InstructBLIP&#xff1a;迈向通用视觉语言模型的指…

Elasticsearch+Logstash+Filebeat+Kibana部署【7.1.1版本】

目录 一、准备阶段 二、实验阶段 1.配置kibana主机 2.配置elasticsearch主机 3.配置logstash主机 4.配置/etc/filebeat/filebeat.yml 三、验证 1.开启Filebeat 2.在logstash查看 3.浏览器访问kibana 一、准备阶段 1.准备四台主机kibana、es、logstash、filebeat 2.在…

Vue开发前端报错:‘vue-cli-service‘ 不是内部或外部命令解决方案

1.Bug: 最近调试一个现有的Vue前端代码&#xff0c;发现如下错误&#xff1a; vue-cli-service’ 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 2.Bug原因&#xff1a; 导入的工程缺少依赖包&#xff1a;即缺少node_modules文件夹 3.解决方案&#xff1…

AI生态,钉钉再「出招」

如果说之前钉钉的AI生态加持更多的围绕资源和商业的底层助力&#xff0c;那么如今这种加持则是向更深层次进化&#xff0c;即真正的AI模型训练能力加持&#xff0c;为垂类大模型创业者提供全方位的助力&#xff0c;提高创业成功率和模型产品商业化确定性。作者|皮爷出品|产业家…

XSS GAME靶场

要求用户不参与&#xff0c;触发alert(1337) 目录 Ma Spaghet! Jefff Ugandan Knuckles Ricardo Milos Ah Thats Hawt Ligma Mafia Ok, Boomer Exmaple 1 - Create Example 2 - Overwrite Example 3 - Overwrite2 toString Ma Spaghet! <h2 id"spaghet&qu…

Unity学习笔记(五)——3DRPG游戏(2)

添加更多的敌人 编辑EnemyController&#xff0c;解决报错导致敌人无法注册观察者模式&#xff0c;从而无法执行敌人庆祝动画 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public enum EnemyStatus { GUARD,PATROL…

2025测绘程序设计国赛实战:一轮终章 | 单向后方交会C#实现

前言本文是小编对六道国赛试题中的最后一个试题&#xff0c;单向后方交会的一篇学习日志。本文的整体架构&#xff0c;依旧首先拿训练数据跟大家介绍本题涉及到的数据的属性含义&#xff0c;涉及到算法的原理、执行流程和终极目的。然后附上小编用C#来实现的程序&#xff0c;从…

基于Echarts的气象数据可视化网站系统的设计与实现(Python版)

本系统旨在构建一个基于Echarts的气象数据可视化系统&#xff0c;本系统能够从中国天气网爬取实时天气数据&#xff0c;并进行存储、分析和可视化展示。用户可以通过网页界面查看不同地区的天气情况&#xff0c;以及历史天气数据的变化趋势。 技术栈&#xff1a;Python语言、My…

HarmonyOS 启动提速秘籍:懒加载全链路实战解析

摘要 随着移动应用功能越来越复杂、界面越来越丰富&#xff0c;应用启动慢、内存占用高等问题也越来越普遍。特别是在 HarmonyOS NEXT 应用开发中&#xff0c;如果不加优化&#xff0c;用户打开页面时可能要等好几秒&#xff0c;体验就很差了。 懒加载&#xff08;Lazy Loading…

全新安装Proxmox VE启动时卡在Loading initial ramdisk

原因&#xff1a; 使用了Ventoy启动盘装载 Proxmox ISO 文件安装。 要用Ventoy优盘启动&#xff0c;选择Advance Option里的Rescue Boot&#xff0c; 修改文件/etc/default/grub.d/installer.cfg&#xff0c;删除rdinit/vtoy/vtoy运行 update-grub 更新grub配置&#xff0c;重启…

【Java项目安全基石】登录认证实战:Session/Token/JWT用户校验机制深度解析

目录 1.前言 2.正文 2.1Cookie—Session机制 2.1.1核心原理图解&#xff1a; 2.1.2四步核心流程&#xff1a; 2.1.3存储架构对比 2.1.4集群部署方案&#xff08;Spring Session Redis&#xff09; 2.2Token令牌 2.2.1核心原理图解&#xff1a; 2.2.2四步核心流程&am…

融合优势:SIP 广播对讲联动华为会议 全场景沟通响应提速​

SIP 广播对讲与华为视频会议融合解决方案&#xff0c;是基于 SIP 协议将广播对讲系统与华为视频会议系统进行整合&#xff0c;实现通信资源共享与业务流程联动&#xff0c;可提升应急响应效率与沟通协作能力。融合原理&#xff1a;SIP 是一种基于文本的应用层协议&#xff0c;具…

Milvus Dify 学习笔记

目录 docker方式&#xff1a; 模式一&#xff1a;Milvus Lite linux docker方式&#xff1a; 下载yml文件&#xff0c; https://github.com/milvus-io/milvus/releases docker启动&#xff1a; docker compose up -d from pymilvus import connections connections.conne…

汽车ECU控制器通信架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

【Linux】基本指令(入门篇)(上)

目录 前言 1.目录操作指令 1.1指令 1.2理论 1.2.1文件 1.2.2目录与路径 2.文件操作指令 2.1指令 2.2理论 2.2.1输出与输入 2.2.2一切皆文件 前言 这是Linux学习下的第一篇文章&#xff0c;后续Linux的学习也会持续更新分享。 Linux的基本指令是使用Linux操作系统的基础…

正向代理与反向代理理解

问&#xff1a; 应用a请求ng&#xff0c;然后ng根据不同请求路径将请求转发到不同的服务器&#xff0c;对于应用a来说这个ng是正向代理角色还是反向代理呢&#xff1f; 答&#xff1a; 在这个场景中&#xff0c;Nginx 扮演的是反向代理的角色&#xff0c;而不是正向代理。以下是…

【Kafka】深入理解 Kafka MirrorMaker2 - 实战篇

文章目录一、把“家伙事儿”都备齐二、部署其实很简单三、配置 MirrorMaker2四、修改启动脚本五、集群启动与验证六、这集群“结实”吗&#xff1f;聊聊它的高可用它没有“大脑”&#xff0c;但活得很好极限测试&#xff1a;干掉两个节点会怎样&#xff1f;写在最后最近在跟 Ka…

借助AI学习开源代码git0.7之四update-cache

借助AI学习开源代码git0.7之四update-cache update-cache.c 主要负责对索引&#xff08;index&#xff09;&#xff0c;也即缓存&#xff08;cache&#xff09;&#xff0c;进行增、删、改操作。现在的高层命令 git add 的部分核心功能就是由这个代码实现的。 核心功能 该程序的…

【48】MFC入门到精通——MFC 文件读写总结 CFile、CStdioFile、CFileDialog

文章目录1 打开文件1.2 打开文件模式总结2 常用函数2.1 写文件2.2 读文件2.3 获取文件长度3. 文件打开读写实力3.1 写文件 覆盖写3.2 文尾追加写3.3 换行写4 文件对话框 CFileDialog4.2 文件对话框实例5 CStdioFile 类 读写CStingMFC提供了一个文件操作的基类CFile&#xff0c;…