湛江阿里云代理商:android倒计时

实现倒计时有多种方法,以下为一种基于Handler的方法实现:

  1. 首先声明需要显示倒计时的TextView和需要倒计时执行的时间totalTime:
private TextView countdownText;
private int totalTime = 60; //倒计时总时间(单位:秒)
  1. 在onCreate方法中初始化TextView并启动倒计时:
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    countdownText = findViewById(R.id.countdown_text);
    startCountdown();
}
  1. 定义倒计时Handler并在其中实现倒计时逻辑,每隔1秒更新TextView的显示:
private Handler countdownHandler = new Handler() {
    public void handleMessage(android.os.Message msg) {
        if (totalTime > 0) {
            countdownText.setText(totalTime + "s");
            totalTime--;
            countdownHandler.sendEmptyMessageDelayed(0, 1000);//1秒后再次执行
        } else {
            countdownText.setText("倒计时结束");
        }
    }
};
  1. 启动倒计时:
private void startCountdown() {
    countdownHandler.sendEmptyMessage(0);
}

完整代码:

public class MainActivity extends AppCompatActivity {

    private TextView countdownText;
    private int totalTime = 60; //倒计时总时间(单位:秒)

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        countdownText = findViewById(R.id.countdown_text);
        startCountdown();
    }

    private Handler countdownHandler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            if (totalTime > 0) {
                countdownText.setText(totalTime + "s");
                totalTime--;
                countdownHandler.sendEmptyMessageDelayed(0, 1000);//1秒后再次执行
            } else {
                countdownText.setText("倒计时结束");
            }
        }
    };

    private void startCountdown() {
        countdownHandler.sendEmptyMessage(0);
    }
}

您好,以下是一个简单的Android倒计时代码实现:

  1. 在布局文件中添加一个TextView用来展示倒计时:
<TextView
    android:id="@+id/tv_countdown"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:textColor="#000000"
    android:text="10" />
  1. 在Activity中获取TextView并设置倒计时:
public class MainActivity extends AppCompatActivity {
    private TextView tvCountdown;
    private CountDownTimer countDownTimer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        tvCountdown = findViewById(R.id.tv_countdown);
        
        // 倒计时10秒,每1秒更新一次
        countDownTimer = new CountDownTimer(10000, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {
                // 更新TextView的文本
                tvCountdown.setText(String.valueOf(millisUntilFinished / 1000));
            }

            @Override
            public void onFinish() {
                // 倒计时结束,执行相应操作
                Toast.makeText(MainActivity.this, "倒计时结束", Toast.LENGTH_SHORT).show();
            }
        };
        
        // 启动倒计时
        countDownTimer.start();
    }
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        // 取消倒计时
        countDownTimer.cancel();
    }
}

这样就实现了一个简单的Android倒计时功能。您也可以根据需要自行修改倒计时的时间、更新间隔等参数。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/115451.html

(0)
luotuoemo的头像luotuoemo
上一篇 2023年12月27日 20:52
下一篇 2023年12月27日 21:15

相关推荐

  • 扬中阿里云企业邮箱代理商:阿里云成都分公司

    扬中阿里云企业邮箱代理商:阿里云成都分公司 阿里云企业邮箱是阿里云为企业用户提供的专业化、安全、稳定的企业电子邮件服务。作为阿里云企业邮箱代理商,阿里云成都分公司为客户提供了更便捷、更全面的企业邮箱解决方案。 优势一:专业性强 阿里云企业邮箱代理商具有丰富的经验和专业知识,能够根据企业的需求量身定制企业邮箱方案,确保企业邮箱的稳定性和安全性。 优势二:技术支…

    2024年2月18日
    28600
  • 阿里云数据库管理入口

    您可以通过以下方式进入阿里云数据库管理入口: 登录阿里云官方网站(www.aliyun.com),在网站右上角点击”登录”按钮,输入您的账号和密码进行登录。 登录成功后,将鼠标悬停在”产品”菜单上,然后在弹出的下拉菜单中选择”云数据库 RDS”。 进入云数据库 RDS 的控制台后,您可以…

    2023年8月9日
    26500
  • 厦门阿里云代理商:阿里云rocketmq

    厦门阿里云代理商是指在厦门地区有资质和授权代理阿里云产品和服务的合作伙伴,可以为企业提供阿里云的销售、咨询、部署、配置、培训、技术支持等一系列服务。 阿里云RocketMQ是阿里云提供的一种分布式消息中间件,它基于消息队列模型,具有高性能、稳定可靠、扩展性好等特点。RocketMQ支持灵活的消息发布和订阅机制,能够满足高吞吐量和海量消息的处理需求。 作为厦门…

    2023年12月16日
    29000
  • 阿里云国际站代理商:active mq通信方式

    阿里云国际站代理商: ActiveMQ 是一款开源消息队列软件,常用于实现跨系统的异步消息通信。ActiveMQ 的通信方式有两种:点对点(P2P)模式和发布/订阅(Pub/Sub)模式。 点对点模式 点对点模式是一种单向的消息传递方式。发送方将消息发布到一个特定队列中,接收方从该队列中取出消息,每个消息只能被一个接收方消费。点对点模式可以有效地解决异步通信…

    2024年3月7日
    30700
  • linux创建阿里云yum仓库

    linuxcentos怎么配置本地yum仓库 参考地址http://blog.sina.com.cn/s/blog_a9fdb8c50102ws62.html步骤一,挂载本地库mount /dev/cdrom  /mnt ;这里如果你有U盘安装盘/dev/cdrom也可以改为/dev/sd*(对应U盘盘符)步骤二,配置yum库文件cd /etc/yum.re…

    2023年8月26日
    27700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/