zoukankan      html  css  js  c++  java
  • 计时器(Chronometer)

    计时器(Chronometer)

    常用属性:format(计时器的计时格式)

    常用方法:

    setBase(long base)

    设置计时器的起始时间

    setFormat(String format)

    设置显示的 时间格式

    start()

    开始时间

    stop()

    停止时间

    下面我们来看具体的代码:

    1.Activity

    //计时钟,计时器
    public class ChronometerActivity extends Activity {
        
        private Chronometer chronometer;
        private Button startButton;
        private Button stopButton;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.chronometer);
            
            chronometer = (Chronometer)findViewById(R.id.chronometerId);
            startButton = (Button)findViewById(R.id.startButtonId);
            stopButton = (Button)findViewById(R.id.stopButtonId);
            
            startButton.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    //setFormat(String format)    //设置显示时间的格式
                    chronometer.setBase(SystemClock.elapsedRealtime());//设置计时器,SystemClock.elapsedRealtime设定系统时钟
                    chronometer.start();//开始计时
                    startButton.setEnabled(false);
                }
            });
            stopButton.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    chronometer.stop();//停止计时
                    startButton.setEnabled(true);
                }
            });
    //        当计时器改变的时候调用
            chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
                public void onChronometerTick(Chronometer chronometer) {
                    //10秒钟之后自动停止,当前的时间减去设定的是时间,比如这里我们设置计时器只计时10秒
                    if(SystemClock.elapsedRealtime()-chronometer.getBase()>10*1000){
                        chronometer.stop();
                        startButton.setEnabled(true);
                    }
                }
            });
        }
    }

    2.xml布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <!-- 计时钟,计时器 -->
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="5dp" >
    
        <Chronometer
            android:id="@+id/chronometerId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textSize="30sp" />
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:orientation="horizontal" >
    
            <Button
                android:id="@+id/startButtonId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="开始" />
    
            <Button
                android:id="@+id/stopButtonId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="停止" />
        </LinearLayout>
    
    </LinearLayout>

    3.效果显示图

  • 相关阅读:
    EBS SQL > Form & Report
    oracle sql 优化分析点
    MRP 物料需求计划
    MRPII 制造资源计划
    Barcode128 应用实务
    Oracle SQL语句优化技术分析
    APPSQLAP10710 Online accounting could not be created. AP Invoice 无法创建会计分录
    Oracle数据完整性和锁机制
    ORACLE Responsibility Menu Reference to Other User
    EBS 常用 SQL
  • 原文地址:https://www.cnblogs.com/wuziyue/p/5470523.html
Copyright © 2011-2022 走看看