Android 订单任务倒计时

1.直接返回剩余时间

public static String payDownTime(long timeMi) {
    final String[] downTime = {""};
    long time = System.currentTimeMillis();
    String l = String.valueOf(timeMi - time);
    Log.e("========", "==payDownTime:  l == " + l);
    if (timeMi - time < 0) {
        return "";
    }
    return countTime(Integer.parseInt(l) / 1000);
}

private static String countTime(int time) {
    String day = String.valueOf(time / (3600 * 24));
    String hour = String.valueOf(time / 3600);
    String minute = String.valueOf(time % 3600 / 60);
    String second = String.valueOf(time % 3600 % 60);
    return (day.equals("0") ? "" : (day + "天 "))
            + (hour.length() == 2 ? hour : ("0" + hour)) + ":"
            + (minute.length() == 2 ? minute : ("0" + minute)) + ":"
            + (second.length() == 2 ? second : ("0" + second));
}

 2.带有自动倒计时

public String payDownTime(long timeMi0, TextView textView0) {
    long time = System.currentTimeMillis();
    String l = String.valueOf(timeMi0 - time);
    Log.e("========", "==payDownTime:  l == " + l);
    if (timeMi0 - time < 0) {
        return "";
    }
    textView = textView0;
    timeMi = timeMi0;
    payDownTimeH.removeMessages(0);
    payDownTimeH.sendEmptyMessageDelayed(0, 1000);
    return countTime(Integer.parseInt(l) / 1000);
}

private String countTime(int time) {
    String day = String.valueOf(time / (3600 * 24));
    String hour = String.valueOf(time / 3600);
    String minute = String.valueOf(time % 3600 / 60);
    String second = String.valueOf(time % 3600 % 60);
    return (day.equals("0") ? "" : (day + "天 "))
            + (hour.length() == 2 ? hour : ("0" + hour)) + ":"
            + (minute.length() == 2 ? minute : ("0" + minute)) + ":"
            + (second.length() == 2 ? second : ("0" + second));
}

TextView textView;
long timeMi;

Handler payDownTimeH = new Handler() {
    @Override
    public void handleMessage(@NonNull Message msg) {
        super.handleMessage(msg);
        textView.setText(payDownTime(timeMi, textView));
        payDownTimeH.removeMessages(0);
        payDownTimeH.sendEmptyMessageDelayed(0, 1000);
    }
};

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio倒计时计时器的源码可以通过以下步骤实现: 1. 创建一个新的Android项目并在MainActivity中添加一个TextView组件,用于显示倒计时。 2. 在MainActivity中定义一个计时器变量、计时时长和显示倒计时的TextView。 3. 在onCreate()方法中初始化计时器变量,以及获取TextView组件的引用。 4. 在onStart()方法中启动计时器,并使用适当的间隔(例如1秒)更新显示倒计时的TextView内容。同时,设置计时器的总时长。 这里是源码示例: ``` import android.os.Bundle; import android.os.CountDownTimer; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private CountDownTimer countDownTimer; private long timeLeftInMillis = 300000; // 总时长为5分钟 private TextView countdownTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); countdownTextView = findViewById(R.id.countdownTextView); countDownTimer = new CountDownTimer(timeLeftInMillis, 1000) { @Override public void onTick(long millisUntilFinished) { timeLeftInMillis = millisUntilFinished; updateCountdownText(); } @Override public void onFinish() { // TODO: 计时器结束时的操作 } }; countDownTimer.start(); } @Override protected void onStart() { super.onStart(); countDownTimer.start(); } private void updateCountdownText() { int minutes = (int) (timeLeftInMillis / 1000) / 60; int seconds = (int) (timeLeftInMillis / 1000) % 60; String timeLeftFormatted = String.format(Locale.getDefault(), "%02d:%02d", minutes, seconds); countdownTextView.setText(timeLeftFormatted); } } ``` 上述代码在MainActivity中创建了一个CountDownTimer对象并在onCreate()方法中启动了计时器。在onTick()方法中更新了倒计时显示的TextView,并在onFinish()方法中定义计时器结束时的操作。updateCountdownText()方法可将剩余的毫秒数转换为分钟和秒,并将其格式化为“分:秒”的形式。 以上是一个简单的Android Studio倒计时计时器的源码示例。你可以根据自己的需求进一步扩展和定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值