Chronometer 计时器

xml 文件

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:gravity="center_horizontal"

    android:orientation="vertical" >

   

        android:id="@+id/chro"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:padding="15dp" />

   

        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

// 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);

}

}

});

}

}

你可能感兴趣的:(Chronometer 计时器)