android 倒计时器,Android简单倒计时器

安卓简单倒计时器。

就一个Activity:

package com.example.countdown;

import android.os.Bundle;

import android.os.CountDownTimer;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.DialogInterface;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;

/*简单倒计时例子By KevinWu*/

public class MainActivity extends Activity {

private TimeCount timeCount;

EditText text1;

Button button1;

TextView timecounting;

int i;//定义一个记录输入数据的整形

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Click();

}

public void Click() {

button1 = (Button) findViewById(R.id.button1);

button1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

input();

}

});

}

private void input() {

text1 = (EditText) findViewById(R.id.editText1);

String time = text1.getText().toString();

if(time.equals("")){

Toast.makeText(MainActivity.this, "请输入秒数再点击开始!", Toast.LENGTH_LONG).show();

Click();

}else{

i = Integer.parseInt(time);

initData();

}

}

private void initData() {

setContentView(R.layout.run);

timecounting = (TextView) findViewById(R.id.timecounting);

timeCount = new TimeCount(i * 1000, 1000);

timeCount.start();

}

class TimeCount extends CountDownTimer {

public TimeCount(long millisInFuture, long countDownInterval) {

super(millisInFuture, countDownInterval);

}

@Override

public void onTick(long millisUntilFinished) {

// TODO Auto-generated method stub

timecounting.setText((millisUntilFinished / 1000) + "秒");

}

@Override

public void onFinish() {

// TODO Auto-generated method stub

dialog();

}

}

public void dialog() {

AlertDialog.Builder builder = new Builder(this);

builder.setMessage("\n时间到!!!!!!\n");

builder.setTitle("提醒");

builder.setPositiveButton("重新计时",

new android.content.DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

setContentView(R.layout.activity_main);

Click();

}

});

builder.setNegativeButton("退出程序",

new android.content.DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

finish();

}

});

builder.create().show();

}

}

定义了两个布局,第一个布局为刚进去程序显示出来的布局:

0818b9ca8b590ca3270a3433284dd417.png

该布局XML代码为:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity" >

android:id="@+id/editText1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/timecounting"

android:layout_centerHorizontal="true"

android:layout_marginTop="58dp"

android:ems="10"

android:inputType="number"

android:hint="请输入要倒计时的秒数">

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/editText1"

android:layout_centerHorizontal="true"

android:layout_marginTop="20dp"

android:text="开始" />

android:id="@+id/timecounting"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true"

android:layout_marginTop="102dp"

android:text="请输入秒数"

android:textAppearance="?android:attr/textAppearanceLarge" />

第二个布局在点击开始按钮后触发,如下所示:

0818b9ca8b590ca3270a3433284dd417.png

该布局代码如下:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity" >

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true"

android:layout_marginTop="44dp"

android:text="剩余时间为"

android:textAppearance="?android:attr/textAppearanceLarge" />

android:id="@+id/timecounting"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/textView1"

android:layout_below="@+id/textView1"

android:layout_marginTop="58dp"

android:text="请输入秒数"

android:textSize="20pt" />

源代码下载:去下载源代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值