湛江阿里云代理商: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

相关推荐

  • 阿里云国际站:apachectl 网站根目录

    网站的根目录是您的网站主页存储的地方,即访问者在导航至您的网站时第一个看到的页面。在 Apache 上,这个目录通常在 “/var/www/html” 或 “/var/www”中,但这可能会根据您的特定配置而变化。 ‘apachectl’ 是一个控制 Apache HTTP 服务器的命令…

    2024年3月27日
    69300
  • 阿里云国际站充值:android 开发如何播放网络视频

    在Android中播放网络视频,我们主要使用的是VideoView控件或者通过封装MediaPlayer来进行实现。我们这里主要讲述下如何使用VideoView进行网络视频的播放。 步骤如下: 添加必要的权限到AndroidManifest.xml。 <uses-permission android:name="android.permiss…

    2024年3月24日
    71400
  • 长春阿里云代理商:android上传图片到ftp服务器

    如果你想在 Android 应用中上传图片到 FTP 服务器,可以使用 Apache 的 Commons Net 库来实现。以下是一个示例代码,演示如何在 Android 应用中上传图片到 FTP 服务器: import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTP…

    2024年3月3日
    66500
  • 株洲阿里云代理商:asp.net获取数据库数据类型

    在ASP.NET中,你可以使用ADO.NET或Entity Framework等方式来连接和操作数据库。以下是一个使用ADO.NET获取数据库字段数据类型的例子: string connStr = "your_connection_string"; using (SqlConnection conn = new SqlConnection…

    2024年3月13日
    1.2K130
  • 阿里云注册企业商标

    要在阿里云注册企业商标,可以按照以下步骤进行: 登录阿里云官网,进入阿里云商标服务页面。 在页面上点击“商标注册”按钮,进入商标注册的申请页面。 在申请页面上填写企业的基本信息,包括企业名称、企业类型、所在地等。 根据要注册的商标类型,选择相应的商标类别,并填写商标的具体信息,如商标名称、商标图案等。 提交商标申请后,根据系统提示,完成相关的付款和材料提交操…

    2023年8月11日
    84000

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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