Chronometer 计时器

xml 文件

<?xml version="1.0" encoding="utf-8"?>

<Chronometer
    android:id="@+id/chro"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="15dp" />

<Button
    android:id="@+id/chrobt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="开始" />

java文件
package com.example.text2;

import java.util.Timer;
import java.util.TimerTask;

import com.example.text2.R.color;

import android.R.string;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ListView.FixedViewInfo;
import android.widget.GridLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
//import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.ToggleButton;
import android.os.Build;

public class MainActivity extends Activity {
// int[] imagea=new int[]{
// R.drawable.mia,
// R.drawable.mia1,
// R.drawable.mia3,
// R.drawable.e97b65c01c002e86b007d222c4a4e34,
// R.drawable.e0bc55d89b1b4cf07847a79983ecfa0
// };
// int currentImg=0;
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
// // 获取线性布局容器
// LinearLayout ly=(LinearLayout) findViewById(R.id.container);
// // 创建一个textview
// final TextView tv = new TextView(this);
// tv.setText(“love mia”);
// // 创建imageview 组件
// final ImageView iv=new ImageView(this);
// // 将imageview 组件添加到线性布局容器中
// ly.addView(iv);
// // 初始化第一张图片
// iv.setImageResource(imagea[0]);
// iv.setOnClickListener(new View.OnClickListener() {
//
// @Override
// public void onClick(View arg0) {
// // TODO Auto-generated method stub
// tv.setText(“I love Mia-” + new java.util.Date());
// iv.setImageResource(imagea[++currentImg % imagea.length]);
// }
// });
//
// }
// ==============================================
// love Mia
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// // TODO Auto-generated method stub
// super.onCreate(savedInstanceState);
// // setContentView(R.layout.tablelayout);
// // setContentView(R.layout.linearlayout);
// // setContentView(R.layout.fragment_main);
// 获取布局文件中linearlayout容器
// // LinearLayout ly=(LinearLayout) findViewById(R.id.root);
// 创建drawview组件
// // final DrawView dv=new DrawView(this);
// 设置自定义主键最小宽度和高度
// // dv.setMinimumWidth(300);
// // dv.setMinimumHeight(500);
// //
// // ly.addView(dv);
// }
// love Mia
// ============================================================
// private int currentColor = 0;
// // 定义颜色数组
// final int[] colors = new int[] { Color.RED, Color.YELLOW, Color.GREEN,
// Color.CYAN, Color.BLUE, Color.MAGENTA };
//
// final int[] names = new int[] { R.id.view01, R.id.view02, R.id.view03,
// R.id.view04, R.id.view05, R.id.view06 };
// TextView[] tv = new TextView[names.length];
// Handler hd = new Handler() {
// public void handleMessage(android.os.Message msg) {
// // 表明消息来自本程序所发送的
// if (msg.what == 0x123) {
// for (int i = 1; i < names.length; i++) {
// tv[i].setBackgroundColor(colors[(i + currentColor)
// % names.length]);
//
// }
// currentColor++;
// }
// super.handleMessage(msg);
// }
// };
//
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.framelayout);
// for (int i = 0; i < names.length; i++) {
// tv[i] = (TextView) findViewById(names[i]);
// }
// // 定义线程,周期性改变currentcolor值
// new Timer().schedule(new TimerTask() {
//
// @Override
// public void run() {
// // TODO Auto-generated method stub
// // 发送一条消息通知系统改变6个textview组件的背景色
// hd.sendEmptyMessage(0x123);
// }
// }, 0, 200);
// };
// ========================

// @Override
// protected void onCreate(Bundle savedInstanceState) {
// // TODO Auto-generated method stub
// super.onCreate(savedInstanceState);
// setContentView(R.layout.relativelayout);
// }
// =========================
// GridLayout gl;
// String[] chars=new String[]{
// "7","8","9","÷",
// "4","5","6","×",
// "1","2","3","-",
// ".","0","=","+"};
//
//
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.fridlayout);
// gl=(GridLayout) findViewById(R.id.root);
// for (int i = 0; i <chars.length ; i++) {
// Button bt=new Button(this);
// bt.setText(chars[i]);
// // 设置该按钮的字号大小
// bt.setTextSize(40);
// // 设置按钮四周空白区域
// bt.setPadding(5,35,5,35);
// // 设置该组件所在的行
// GridLayout.Spec rwoSpec=GridLayout.spec(i/4
// +2);
// // 指定该组件所在列
// GridLayout.Spec cloSpec=GridLayout.spec(i%4);
// GridLayout.LayoutParams params=new
// GridLayout.LayoutParams(rwoSpec,cloSpec);
// // 指定该组件占满父容器
// params.setGravity(Gravity.FILL);
// gl.addView(bt,params);
// }
// }
// ========================================
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// // TODO Auto-generated method stub
// super.onCreate(savedInstanceState);
// // setContentView(R.layout.basolutelayout);
// // setContentView(R.layout.attributelayout);
// // setContentView(R.layout.frame);
// // setContentView(R.layout.singin);
// setContentView(R.layout.button);
// }
// ====================================
// RadioGroup rg;
// TextView tv;
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// // TODO Auto-generated method stub
// super.onCreate(savedInstanceState);
// setContentView(R.layout.button_box);
// // 获取ui界面上面rg和show组件
// rg=(RadioGroup) findViewById(R.id.rg);
// tv=(TextView) findViewById(R.id.show);
// //为radiogroup组件的oncheckedchanged绑定事件监听
// rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
//
// @Override
// public void onCheckedChanged(RadioGroup arg0, int arg1) {
// // TODO Auto-generated method stub
// //根据用户勾选的单选按钮来动态改变tip字符串的值
// String tip=arg1==R.id.male?"您的性别是男生":"您的性别是女生";
// //修改show 组件中的文本
// tv.setText(tip);
// }
// });
// }
// ======================================
// ToggleButton tg;
// Switch sw;
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// // TODO Auto-generated method stub
// super.onCreate(savedInstanceState);
// setContentView(R.layout.togglebutton);
// tg=(ToggleButton) findViewById(R.id.toggle);
// sw=(Switch) findViewById(R.id.switcher);
// final LinearLayout test=(LinearLayout) findViewById(R.id.test);
// OnCheckedChangeListener listener=new OnCheckedChangeListener() {
//
// public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
// // TODO Auto-generated method stub
// if (arg1) {
// //设置linearlayout垂直布局
// test.setOrientation(1);
// tg.setChecked(true);
// sw.setChecked(true);
// } else {
// //设置linearlayout水平布局
// test.setOrientation(0);
// tg.setChecked(false);
// sw.setChecked(false);
//
// }
//
// }
//
//
// };
// tg.setOnCheckedChangeListener(listener);
// sw.setOnCheckedChangeListener(listener);
// }
// ================================
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// // TODO Auto-generated method stub
// super.onCreate(savedInstanceState);
// setContentView(R.layout.clock);
// }
// ================

// 定义计时器chronometer
Chronometer ch;
Button bt;

@Override
protected void onCreate(Bundle savedInstanceState) {
	// TODO Auto-generated method stub
	super.onCreate(savedInstanceState);
	setContentView(R.layout.chronometer);
	// 获取计时器组件
	ch = (Chronometer) findViewById(R.id.chro);
	// 获取开始按钮
	bt = (Button) findViewById(R.id.chrobt);
	bt.setOnClickListener(new OnClickListener() {

		@Override
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			// 设置开始计时时间
			ch.setBase(SystemClock.elapsedRealtime());
			// 启动计时器
			ch.start();
			bt.setEnabled(false);
		}
	});
	// 为Chronometer绑定事件监听
	ch.setOnChronometerTickListener(new OnChronometerTickListener() {

		@Override
		public void onChronometerTick(Chronometer ch) {
			// TODO Auto-generated method stub

			// 如果从开始到现在超过20秒
			if (SystemClock.elapsedRealtime() - ch.getBase() > 20 * 1000) {
				ch.stop();
				bt.setEnabled(true);
			}
		}
	});
}

}

界面
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值