package com.example.monizk.view; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.widget.Toast; import com.example.monizk.R; /** * Created by 小薇 on 2018/7/8. */ public class AdTimeViewPager extends View { private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what==0){ if(time>1){ time--; //重新初始化第二个画布,将以前画的数字消除 //重新画 draw(); //更新界面 //调用ondraw invalidate(); handler.sendEmptyMessageDelayed(0,1000); }else{ Toast.makeText(getContext(),"跳转成功",Toast.LENGTH_SHORT).show(); } } } }; private int height; private int width; private Canvas mcanvas; private Bitmap mbitmap; private Paint mpaint; private int time; public AdTimeViewPager(Context context) { super(context); } public AdTimeViewPager(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public AdTimeViewPager(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @SuppressLint("DrawAllocation") @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //设置第一支画笔 Paint paint = new Paint(); //设置画笔颜色 paint.setColor(Color.RED); paint.setAntiAlias(true); //设置透明度 paint.setAlpha(240); //获取背景图片资源 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.dd); Log.i("aaa",bitmap.toString()); //将背景图片画到屏幕上 canvas.drawBitmap(bitmap,0,0,paint); //根据屏幕确定圆的位值,不是根据控件的大小 width = getWidth()-380; height = 80; //圆的半径 float radius=60; Log.i("bbbb",getHeight()+"...."+getWidth()); //画圆 canvas.drawCircle(width,height,radius,paint); //将第二层的画布画到屏幕上 canvas.drawBitmap(mbitmap,0,0,null); //初始化显示数字,如果将这行注释掉,就不会显示5s这个数字 // mcanvas.drawText(time+"s",width-30,height*10,mpaint); } public void init(int i){ if(i<3){ time=3; }else{ time=i; } //设置第二支画笔 mpaint = new Paint(); //设置文字颜色大小 mpaint.setTextSize(80); mpaint.setColor(Color.BLACK); draw(); handler.sendEmptyMessageDelayed(0,1000); } /* * 初始化mbitmap和mcanvas * 并且画上倒计时数字 * 这里画的东西都是画到了第二层画布上 */ private void draw(){ mbitmap = Bitmap.createBitmap(getLayoutParams().width, getLayoutParams().height, Bitmap.Config.ARGB_8888); //初始化第二个画布,将所有的东西画到mbitmap上 mcanvas = new Canvas(mbitmap); //将数字画到第二个画布上 mcanvas.drawText(time+"s",width-30,height+10,mpaint); } }
相关推荐
使用Vue3来实现一个倒计时器以及倒计时任务
本倒计时器以及倒计时任务管理界面使用Vue3,以及element-plus辅助开发。
[Unity]Lua本地时间、倒计时和正计时。
【代码】[Unity]Lua本地时间、倒计时和正计时。
在Unity中实现倒计时功能
using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// <summary> /// 倒计时 /// </summary> public class DaoJiShi_CeShi : MonoB...
lua 计算倒计时,天 周 月倒计时
--通过服务器时间 获得明天零点的时间戳 function GetNextDayZeroTime(timeNum) --获得当前服务器的时间 local t1 = timeNum if not t1 then t1 =SystemTime() end --获得时间格式 local tab = os.date("*t",t1) ...
Lua实现跟py的sleep一样的定时器功能,在倒计时结束时调用函数
Lua实现跟py的sleep一样的定时器功能,在倒计时结束时调用函数
Android倒计时的源码
Android倒计时的源码 倒计时的源码
lua中实现倒计时
今天在开发的时候,涉及到了使用倒计时来显示。 首先自己的思路是: 1、设计显示的Lable。 2、对传入的时间进行处理,转成字符串00:00:00。通过调用回调函数来控制一秒刷新一次。 转换算法: 1 h = math.floor(time / 3600), 2 m = math.floor((time % 3600) / 60), 3 s = math.f...
Lua中实现sleep函数功能的4种方法
主要介绍了Lua中实现sleep函数功能的4种方法,本文讲解了在一个死循环中设置一个跳出条件方法、调用系统的sleep函数法、Windows下ping命令法、socket库中select函数法4种方法,需要的朋友可以参考下
vue多个倒计时vue倒计时vue列表倒计时(单个,列表倒计时,秒杀)vue渲染列表倒计时
先看效果图!代码分别在下面展示 先看单个倒计时: 代码: <div class="titRight"> <div class="top"> <p>{{detailsListDetails.cate1_name1}}</p> <p>还有{{detailsListDetail...
【实战指南】Jaspersoft Studio + JasperReports:从零构建企业级PDF报表
本文详细介绍了如何使用Jaspersoft Studio和JasperReports从零构建企业级PDF报表。通过可视化设计、数据连接、模板设计到最终输出的全链路支持,这套组合方案显著降低了报表开发的维护成本。文章还提供了开发环境搭建、中文乱码解决方案、Java集成代码及性能优化技巧,适合需要高效生成复杂PDF报表的开发者。
C#连接数据库报Authentication to host ‘127.0.0.1‘ for user ‘root‘ using method ‘caching_sha2_password‘ fail
所以导致的,除了上边的办法,还可以把这个加密规则修改一下,这个的修改方式有很多,具体原因是因为MySQL8.0以前的加密规则是。
网页倒计时
网页倒计时 制作一个简单的网页倒计时器。这个倒计时可以根据输入的截止时间进行倒计时,输入的截止日期数据会被缓存在本地存储(“deadlineDate”)(源码见文末) 这里使用原生JS进行相关网页逻辑的编写,主要应用到的API有 document.getElementById: 用于获取DOM元素节点,方便向节点填入数据并显示 Window.setInterval(): 用于每隔一秒刷新一次显示的倒计时数据 elem.addEventListener(): 用于绑定事件,这里只是用于绑定重置按钮的点击事
实战指南:基于ELK与Grafana构建天融信防火墙日志可视化看板
本文详细介绍了如何基于ELK与Grafana构建天融信防火墙日志可视化看板,包括环境准备、日志收集与解析配置、Elasticsearch存储优化、Grafana看板设计等关键步骤。通过实战案例和优化技巧,帮助用户高效处理天融信防火墙日志,实现安全态势的可视化监控与分析。
JS倒计时代码
JS倒计时代码 第一种:精确到秒的javascript倒计时代码 <form name="form1"> <div align="center" align="center"> <center>离2010年还有:<br> <input type="textarea" name="left" size="35" style="text-align: center"> </center> </div> </fo
在 Linux/Debian/Ubuntu 上使用 Brasero 刻录光盘
在 Ubuntu 系统中,Brasero 是一个非常方便的光盘刻录工具。无论是创建数据光盘、音频光盘还是刻录光盘镜像文件,Brasero 都能轻松胜任。本文将介绍如何在 Ubuntu 上安装和使用 Brasero 进行光盘刻录。
超详细 Git创建仓库及上传项目至Github操作(Windows系统)
文章目录前言一、Git下载及安装二、创建代码仓库1.配置身份2.创建本地仓库3.提交本地代码三、使用Git上传代码至Github1.创建ssh keys2.在Github中新建仓库3.关联本地仓库与Github仓库4.推送代码至Github仓库总结 前言 本文对于Windows系统上git的安装及基本使用方法进行简单介绍,并介绍如何使用git将仓库中的项目上传至个人的Github中去。内容参考《第一行代码》以及一些博客。 本文适合新手阅读哦~ 一、Git下载及安装 打开网站 git下载 下载安装包(直接
活动倒计时显示时分秒_Excel制作各种倒计时,如国庆倒计时
今天我们分享的是用各种方法来制作倒计时1、天数倒计时今天是2019年9月24日,我们来制作国庆的倒计时时间,我们可以使用公式:=date(2019,10,1)-today()DATE函数里面有三个参数,对应填写年,月,日today()函数不需要参数,表示今天的日期用两个日期进行相减,就是天数2、具体到天、时、分、秒的倒计时 如果我们2019年9月10日上午8:00:00整有一个活动,我们现在需要倒...
1分钟了解LangChain是什么?
是一个基于大型语言模型(LLM)开发应用程序的框架, 它旨在简化语言模型应用的开发流程,特别是在构建对话系统和其他基于语言的AI解决方案时.目标是将复杂的语言模型技术转化为可通过简单API调用实现的功能,从而使开发者能够更加专注于创造性的解决方案设计。高效地解决了开发大语言模型应用的痛点问题。Langchain 最主要的特色是可以将 LLM 应用研发过程中的交互 Prompt、LLM 模型调用、语言模型与环境互动的自适应等方式融为一体。
Service中进行倒计时
前言:本文是关于一个发送验证码倒计时60s,退出验证码填写界面后,60s倒计时结束之前,再次进入倒计时页面,倒计时不会重新开始。鉴于这个功能可能比较常见,需要的可以直接粘过去。 下来介绍我的实现过程:开启一个service进行倒计时,把时间通过广播发送到活动中进行相应操作,就这么点。 一、创建一个service,里面进行倒计时,并实时发送广播: public class CountDown...
R语言生存分析之竞争风险模型
R语言生存分析之竞争风险模型 竞争风险模型(Competing Risk Model)是一种处理多种潜在结局生存数据的分析方法,早在1999年Fine和Gray就提出了部分分布的半参数比例风险模型,通常使用的终点指标是累积发生率函数(cumulative incidence function,CIF)。 研究中结局事件可能有多个,某些结局将阻止感兴趣事件的出现或影响其发生的概率,各结局事件形成“竞争”关系,互为竞争风险事件。 竞争风险模型( Competing Risk Model ) : 指
R语言dplyr包recode函数、recode_factor函数数值或因子替换实战
R语言dplyr包recode函数、recode_factor函数数值或因子替换实战 目录 R语言dplyr包recode函数、recode_factor函数数值或因子替换实战 #导入dplyr包 #recode函数进行数值替换 #recode_factor函数对因子变量进行替换 #导入dplyr包 install.packages("dplyr") # Install & load dplyr library("dpl.
js实现——循环倒计时
js实现倒计时的功能 1、普通倒计时 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS倒计时</title> </head> <body> <div id="warring"></div> ...
迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)
迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)
setInterval 倒计时 清除倒计时 clearInterval
倒计时清除 setInterval 倒计时5s后跳转页面, clearInterval(this.handler); 清除倒计时 不执行倒计时里面的跳转, 点击事件强制跳转到其他页面 并且清除 倒计时任务 // 倒计时 cutDown() { this.handler = setInterval(() => { // 路由跳转后 倒计时没有清理 在点击跳转时清除定时器 this.second--;
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
倒计时器c语言,在线倒计时器
手机评站网今天精心准备的是《在线倒计时器》,下面是详解!如何在PPT中插入3分钟倒计时器,最后有声音。280992...如何在PPT中插入3分钟倒计时器,最后有声音。280992656@秋秋在线等,万分感谢!...如何在PPT中插入3分钟倒计时器,最后有声音。280992656@秋秋 在线等,万分感谢!如果你要在PPT里做倒计时,3分钟,做180张图片,然后设置1秒切换一下即可。然后再插入一个音乐...
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
java怎样做倒计时,Java 中怎么实现倒计时
Java codepublic class 倒计时时钟 {//小时private int hours;//分钟private int min;//秒private int second;public 倒计时时钟(int hours,int min,int second) {this.hours = hours;this.min = min;this.second = second;}public ...
4848



被折叠的 条评论
为什么被折叠?



