Android实现圆圈倒计时
作者:零下37度5 发布时间:2022-08-03 15:03:29
标签:Android,倒计时
本文实例为大家分享了Android实现圆圈倒计时的具体代码,供大家参考,具体内容如下
1. 显示效果如下
2. 首先是创建shape的xml文件
在res/drawable目录下创建 shape_round_textview.xml文件,文件代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="false">
<solid
android:color="#FFFCFC" />
<stroke
android:width="1dp"
android:color="#7468BE"
/>
<size
android:width="50dp"
android:height="50dp"
/>
</shape>
3.然后就是在Layout布局文件里面使用定义的shape
我自己做的在一个横向布局的LinearLayout里面把倒计时放到最右边(中间TextView的目的是把倒计时的TextView挤到最右边去 )显示如图:
布局文件代码:
<LinearLayout
android:layout_marginTop="20dp"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:layout_marginLeft="10dp"
android:id="@+id/go_back"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/go_back"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<TextView
android:layout_marginRight="10dp"
android:id="@+id/time_down"
android:layout_width="50dp"
android:layout_height="50dp"
android:text="50"
android:textSize="15sp"
android:gravity="center"
android:background="@drawable/shape_round_textview"
/>
</LinearLayout>
4.最后是java文件里的代码
public class StateModeActivity extends AppCompatActivity {
private TextView tx_time;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//隐藏默认标题栏
if (getSupportActionBar() != null){
getSupportActionBar().hide();
}
setContentView(R.layout.activity_state_mode);
tx_time = findViewById(R.id.time_down);
//倒计时显示
ValueAnimator animator = ValueAnimator.ofInt(50,0);
//设置时间
animator.setDuration(50000);
//均匀显示
animator.setInterpolator(new LinearInterpolator());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int value = (Integer) animation.getAnimatedValue();
tx_time.setText(value+"");
if(value==0)
startActivity(new Intent(StateModeActivity.this,MainActivity.class));
}
});
animator.start();
}
来源:https://blog.csdn.net/NUC__xjx/article/details/124131725


猜你喜欢
- 一、需求C# 项目生成 dll,在反编译工具下,好比皇帝的新装,dll 内部的代码看的一清二楚,在这里推荐一个工具ConfuserEx,可以
- 主要思路就是提供者持有密钥,通过RSA加密客户机标识或时间标识,再通过Base64加密成不太难看的注册码,然后分发给客户机。客户机解Base
- 目前很多业务使用微服务架构,服务模块划分有这2种方式:服务功能划分业务划分不管哪种方式,一次接口调用都需要多个服务协同完成,其中一个服务出现
- 本文实例为大家分享了利用Swing绘制一个动态时钟的具体代码,供大家参考,具体内容如下效果代码在下面,可跳过解析。前言编程实现一个时钟利用S
- 写在前面项目中直接引用或者直接编译源码得到的ijkplayer在播放mkv文件时出现(-10000)的错误,去项目github查看了才知道,
- Spring对配置类的处理主要分为2个阶段配置类解析阶段会得到一批配置类的信息,和一些需要注册的beanbean注册阶段将配置类解析阶段得到
- 一般我们在java中运行其它类中的方法时,无论是静态调用,还是动态调用,都是在当前的进程中执行的,也就是说,只有一个java虚拟机实例在运行
- 🚀 ChatGPT是最近很热门的AI智能聊天机器人🚀 本文使用SpringBoot+OpenAI的官方API接口,自己实现一个可以返回对话数
- 本文实例讲述了Asp.net中C#使用Socket发送和接收TCP数据的方法,分享给大家供大家参考。具体实现方法如下:具体程序代码如下:us
- 项目介绍:Android上最让人头疼的莫过于从网络获取图片、显示、回收,任何一个环节有问题都可能直接OOM,这个项目或许能帮到你。Unive
- 本文实例讲述了C#中ExecuteNonQuery()返回值注意点。对于C#数据库程序设计有一定的借鉴价值。分享给大家供大家参考之用。具体分
- 本文实例讲述了C++联合体union用法。分享给大家供大家参考。具体如下:我们应该按照C中的convention去使用union,这是我这篇
- 本文实例为大家分享了C#通过NPOI导入导出数据EXCEL的具体代码,供大家参考,具体内容如下其实从数据库到服务器导入导出有很多方法,但是比
- 一、研究背景在我们实际的项目开发中,我们会经常对文件进行相关任务的操作,具体的开发环节中,免不了让我们获取文件的后缀名,通过后缀名来进行下一
- 定义与结构 备忘录(Memento)模式又称标记(Token)模式。GOF给备忘录模式的定义为:在不破坏
- 文章目录 简介增量构建自定义inputs和outputs运行时API隐式依赖输入校验自定义缓存方法输入归一化其他使用技巧简介在我们使用的各种
- 一、简介此游戏是《2D 赛车》的”魔改版“——2.5D 双人
- java导出Excel通用方法的实例详解Java导出Excel通用方法,只需要一个list 集合。通用方法改进之处踊跃提出package o
- 前言:在 Java 中,常用的锁有两种:synchronized(内置锁)和 ReentrantLock(可重入锁),二者的功效都是相同得,
- 概述从今天开始, 小白我将带大家开启 Jave 数据结构 & 算法的新篇章.栈栈 (Stack) 是一种运算受限的线性表, 遵循先进