android倒计时实现方法,Android实现倒计时方法汇总

Android开发中经常会有倒计时的功能,下面将总结出常见的集中实现方式。

1.直接使用Handler的消息机制来实现

xml布局中文件如下:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal" >

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:onClick="clickButton"

android:text="开始计时" />

java代码如下:

import android.app.Activity;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.view.View;

import android.widget.Button;

public class FirstActivity extends Activity{

private Button button;

private int count = 60;

private int COU

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在Android Studio中实现启动页倒计时的步骤: 1. 在res/layout文件夹下创建一个新的布局文件,例如activity_splash.xml,用于显示启动页的UI界面。 2. 在activity_splash.xml中添加一个TextView用于显示倒计时的数字。 3. 在res/values文件夹下创建一个新的xml文件,例如strings.xml,用于存储字符串资源。 4. 在strings.xml中添加一个字符串资源,例如: ```xml <string name="countdown_text">跳过 %d</string> ``` 5. 在res/drawable文件夹下添加一个倒计时按钮的图片,例如ic_countdown_button.png。 6. 在activity_splash.xml中添加一个ImageView用于显示倒计时按钮的图片。 7. 在res/drawable文件夹下添加一个倒计时按钮的selector,例如countdown_button_selector.xml,用于设置倒计时按钮的不同状态。 8. 在countdown_button_selector.xml中添加以下代码: ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/ic_countdown_button_pressed" android:state_pressed="true"/> <item android:drawable="@drawable/ic_countdown_button_normal"/> </selector> ``` 9. 在activity_splash.xml中设置倒计时按钮的背景为countdown_button_selector.xml。 10. 在res/layout文件夹下创建一个新的布局文件,例如fragment_countdown.xml,用于显示倒计时页面的UI界面。 11. 在fragment_countdown.xml中添加一个TextView用于显示倒计时的数字。 12. 在res/layout文件夹下创建一个新的布局文件,例如fragment_countdown_button.xml,用于显示倒计时按钮的UI界面。 13. 在fragment_countdown_button.xml中添加一个Button用于显示倒计时按钮的文字。 14. 在CountDownFragment.java中实现倒计时的逻辑,例如: ```java public class CountDownFragment extends Fragment { private TextView mCountdownTextView; private Button mCountdownButton; private CountDownTimer mCountdownTimer; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_countdown, container, false); mCountdownTextView = (TextView) view.findViewById(R.id.countdown_text_view); mCountdownButton = (Button) view.findViewById(R.id.countdown_button); mCountdownButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 跳转到主页面 } }); mCountdownTimer = new CountDownTimer(5000, 1000) { @Override public void onTick(long millisUntilFinished) { int seconds = (int) (millisUntilFinished / 1000); String countdownText = getString(R.string.countdown_text, seconds); mCountdownTextView.setText(countdownText); } @Override public void onFinish() { // 倒计时结束,跳转到主页面 } }; mCountdownTimer.start(); return view; } @Override public void onDestroyView() { super.onDestroyView(); mCountdownTimer.cancel(); } } ``` 15. 在SplashActivity.java中添加以下代码,用于启动倒计时页面: ```java public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fragment_container, new CountDownFragment()); fragmentTransaction.commit(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值