Chronometer控件的使用
来源:互联网 发布:掌上电力显示网络问题 编辑:程序博客网 时间:2024/06/07 02:49
Chronometer 是android自身提供的计时器控件
用于实现简单的计时功能,避免编写复杂的多线程代码.
使用时在布局文件中声明计时器的位置和属性.
核心方法
start() 计时开始
stop() 计时停止
setBase(SystemClock.elapsedRealtime()) 重置
setFormart() 显示时间
核心接口OnChronometerTickListener,用于监听时间的实时变化.
范例代码如下:
1.自定义控件继承Chronometer
public class MyChronometer extends Chronometer { SimpleDateFormat sdf; private long currentTime; private long startMilliSecond=0; private Vibrator vibrator; public MyChronometer(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } public MyChronometer(Context context, AttributeSet attrs) { super(context, attrs); init(); } public MyChronometer(Context context) { super(context); } @SuppressLint("SimpleDateFormat") private void init() { sdf = new SimpleDateFormat("HH:mm:ss"); this.setText("00:00:00"); currentTime = System.currentTimeMillis(); this.setOnChronometerTickListener(new MyOnChronometerTickListener()); } /** * 开始计时 */ @Override public void start() { super.start(); } /** * 停止计时 */ @Override public void stop() { super.stop(); } /** * 重置 */ public void reset() { setBase(SystemClock.elapsedRealtime()); setText("00:00:00"); } // // 计时监听事件,随时随地的监听时间的变化 class MyOnChronometerTickListener implements OnChronometerTickListener{ @Override public void onChronometerTick(Chronometer chronometer) { } }}
2.在布局文件中声明该自定义控件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.duan.mychronometer.MainActivity" > <com.duan.mychronometer.MyChronometer android:id="@+id/myChronometer" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="1dip" android:background="@drawable/shape_gray_rectangle" android:gravity="center" android:paddingLeft="4dip" android:paddingRight="4dip" android:textColor="@android:color/white" android:textSize="60sp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <Button android:id="@+id/start" android:layout_weight="1" android:layout_width="0dip" android:layout_height="wrap_content" android:text="开始" /> <Button android:id="@+id/stop" android:layout_weight="1" android:layout_width="0dip" android:layout_height="wrap_content" android:text="停止" /> <Button android:id="@+id/reset" android:layout_weight="1" android:layout_width="0dip" android:layout_height="wrap_content" android:text="重置" /> </LinearLayout></LinearLayout>
3.在需要Chronometer的Activity中调用相关方法
package com.duan.mychronometer;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener { private MyChronometer mChronometer; private Button start, stop, reset; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { mChronometer = (MyChronometer) findViewById(R.id.myChronometer); start = (Button) findViewById(R.id.start); stop = (Button) findViewById(R.id.stop); reset = (Button) findViewById(R.id.reset); start.setOnClickListener(this); stop.setOnClickListener(this); reset.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.start: mChronometer.start(); break; case R.id.stop: mChronometer.stop(); break; case R.id.reset: mChronometer.reset(); break; } }}
0 0
- Chronometer控件的使用
- android Chronometer控件的使用
- Chronometer android计时器组件Chronometer的使用,android通话时长计时控件
- Android Chronometer控件使用,计时器
- Chronometer 计时器的使用
- Chronometer的使用
- Android计时器Chronometer的使用
- Chronometer android自带的倒计时控件
- 11.计时器Chronometer控件的应用实例
- android计时器chronometer的基本使用
- android计时器chronometer的基本使用
- android计时器Chronometer类的使用
- android 中 Chronometer 计时器的使用
- 安卓Chronometer计时器的简单使用
- Android Chronometer控件开发
- Chronometer计时器控件
- Android控件之Chronometer
- Android中的Chronometer控件
- AFNetworking2.5使用
- UIScrollView的无限左滑轮播一点也不难
- MongoDB 运行状态、性能监控,分析
- 二叉树C++实现
- SSH生命周期图
- Chronometer控件的使用
- Java 导出txt文件
- STC89S52RC模拟串口
- MAVEN搭建SpirngMVC和Spirng所需的依赖包
- org.mockito.exceptions.misusing.UnfinishedStubbingException
- ListCollectionView.Refresh issue
- 【keil配置,备查】STM32开发环境(工具)之Keil MDK 介绍
- Python中用eval将字符串转换为字典时候出错:NameError: name ‘null’ is not defined的解决方法
- IOS常用第三方框架 --- MBProgressHUD 提示效果