首页 > 系统 > Android > 正文

Android实现时间倒计时功能

2019-10-22 18:25:16
字体:
来源:转载
供稿:网友

本文实例为大家分享了Android实现时间倒计时功能展示的具体代码,供大家参考,具体内容如下

效果展示

Android,倒计时

MainActivity(主页面代码)

 

public class MainActivity extends Activity {  private RelativeLayout countDown;  // 倒计时  private TextView daysTv, hoursTv, minutesTv, secondsTv;  private long mDay = 10;  private long mHour = 10;  private long mMin = 30;  private long mSecond = 00;// 天 ,小时,分钟,秒  private boolean isRun = true;  private Handler timeHandler = new Handler() {    @Override    public void handleMessage(Message msg) {      super.handleMessage(msg);      if (msg.what==1) {        computeTime();        daysTv.setText(mDay+"");        hoursTv.setText(mHour+"");        minutesTv.setText(mMin+"");        secondsTv.setText(mSecond+"");        if (mDay==0&&mHour==0&&mMin==0&&mSecond==0) {          countDown.setVisibility(View.GONE);        }      }    }  };  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    countDown = (RelativeLayout) findViewById(R.id.countdown_layout);    daysTv = (TextView) findViewById(R.id.days_tv);    hoursTv = (TextView) findViewById(R.id.hours_tv);    minutesTv = (TextView) findViewById(R.id.minutes_tv);    secondsTv = (TextView) findViewById(R.id.seconds_tv);    startRun();  }  /**   * 开启倒计时   */  private void startRun() {    new Thread(new Runnable() {      @Override      public void run() {        // TODO Auto-generated method stub        while (isRun) {          try {            Thread.sleep(1000); // sleep 1000ms            Message message = Message.obtain();            message.what = 1;            timeHandler.sendMessage(message);          } catch (Exception e) {            e.printStackTrace();          }        }      }    }).start();  }  /**   * 倒计时计算   */  private void computeTime() {    mSecond--;    if (mSecond < 0) {      mMin--;      mSecond = 59;      if (mMin < 0) {        mMin = 59;        mHour--;        if (mHour < 0) {          // 倒计时结束          mHour = 23;          mDay--;        }      }    }  }}

main(主页面布局)

 

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:id="@+id/countdown_layout"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="@android:color/white"  android:gravity="center" >  <RelativeLayout    android:id="@+id/daojishi_rl"    android:layout_width="match_parent"    android:layout_height="40.0dip"    android:layout_marginLeft="10.0dip"    android:layout_marginRight="10.0dip"    android:gravity="center" >    <ImageView      android:id="@+id/describe_iv"      android:layout_width="40.0dip"      android:layout_height="40.0dip"      android:background="@drawable/clock"      android:gravity="center_vertical" />    <TextView      android:id="@+id/describe_tv"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_centerVertical="true"      android:layout_marginRight="5.0dip"      android:layout_toRightOf="@+id/describe_iv"      android:text="距离活动还有 "      android:textSize="25sp" />    <TextView      android:id="@+id/days_tv"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_centerVertical="true"      android:layout_toRightOf="@+id/describe_tv"      android:textColor="@color/colorAccent"      android:gravity="center"      android:text="20"      android:textSize="20sp" />    <TextView      android:id="@+id/colon0"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_centerVertical="true"      android:layout_marginLeft="5.0dip"      android:layout_marginRight="3.0dip"      android:layout_toRightOf="@+id/days_tv"      android:text="天"      android:textSize="20sp"      android:textStyle="bold" />  </RelativeLayout>  <RelativeLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_below="@+id/daojishi_rl"    android:gravity="center_horizontal" >    <TextView      android:id="@+id/hours_tv"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_centerVertical="true"      android:layout_toLeftOf="@+id/colon1"      android:textColor="@color/colorAccent"      android:gravity="center"      android:text="23"      android:textSize="20sp" />    <TextView      android:id="@+id/colon1"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_centerVertical="true"      android:layout_marginLeft="3.0dip"      android:layout_marginRight="3.0dip"      android:layout_toLeftOf="@+id/minutes_tv"      android:text=":"      android:textSize="20sp"      android:textStyle="bold" />    <TextView      android:id="@+id/minutes_tv"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_centerVertical="true"      android:layout_toLeftOf="@+id/colon2"      android:textColor="@color/colorAccent"      android:gravity="center"      android:text="59"      android:textSize="20sp" />    <TextView      android:id="@+id/colon2"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_centerVertical="true"      android:layout_marginLeft="3.0dip"      android:layout_marginRight="3.0dip"      android:layout_toLeftOf="@+id/seconds_tv"      android:text=":"      android:textSize="20sp"      android:textStyle="bold" />    <TextView      android:id="@+id/seconds_tv"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignParentRight="true"      android:layout_centerVertical="true"      android:gravity="center"      android:text="59"      android:textColor="@color/colorAccent"      android:textSize="20sp" />  </RelativeLayout></RelativeLayout>

谢谢观看,小编祝大家生活愉快!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表