Android 时间倒计时

来源:互联网 发布:数据库中的索引是什么 编辑:程序博客网 时间:2024/05/18 01:51

效果展示

这里写图片描述

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--;                }            }        }    }}

activity_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>

谢谢观看,小编祝大家生活愉快!(多多关注小编,会有非常之多精彩分享哦!)

原创粉丝点击