您的位置:首页 > 移动开发 > Android开发

实现简易秒表功能

2016-04-29 14:37 309 查看


今天为了给师弟们讲安卓,花了10分钟写了一个简易的秒表app,现贴出代码,供各位刚入门以及还未入门的同胞们参考

第一步:布局activity_main.xml:

[html] view
plain copy

 





<RelativeLayout 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: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" >  

  

    <RelativeLayout  

        android:layout_width="wrap_content"  

        android:layout_height="wrap_content"  

        android:layout_centerInParent="true" >  

  

        <LinearLayout  

            android:id="@+id/top"  

            android:layout_width="wrap_content"  

            android:layout_height="wrap_content"  

            android:layout_centerHorizontal="true"  

            android:orientation="horizontal" >  

  

            <TextView  

                android:id="@+id/mint"  

                android:layout_width="wrap_content"  

                android:layout_height="wrap_content"  

                android:text="00"  

                android:textSize="30dp" />  

  

            <TextView  

                android:layout_width="wrap_content"  

                android:layout_height="wrap_content"  

                android:text=":"  

                android:textSize="30dp" />  

  

            <TextView  

                android:id="@+id/sec"  

                android:layout_width="wrap_content"  

                android:layout_height="wrap_content"  

                android:text="00"  

                android:textSize="30dp" />  

        </LinearLayout>  

  

        <LinearLayout  

            android:layout_width="wrap_content"  

            android:layout_height="wrap_content"  

            android:layout_below="@+id/top"  

            android:layout_centerHorizontal="true"  

            android:orientation="horizontal" >  

  

            <Button  

                android:id="@+id/start"  

                android:layout_width="wrap_content"  

                android:layout_height="wrap_content"  

                android:text="start" />  

  

            <Button  

                android:id="@+id/reset"  

                android:layout_width="wrap_content"  

                android:layout_height="wrap_content"  

                android:text="reset" />  

        </LinearLayout>  

    </RelativeLayout>  

  

</RelativeLayout>  

第二步,实现秒表功能

[java] view
plain copy

 





package com.example.second;  

import android.os.Bundle;  

import android.os.Handler;  

import android.os.Message;  

import android.app.Activity;  

import android.view.Menu;  

import android.view.View;  

import android.view.View.OnClickListener;  

import android.widget.Button;  

import android.widget.TextView;  

public class MainActivity extends Activity {  

    private TextView mint;  

    private TextView sec;  

    private Button start;  

    private Button reset;  

    private long timeusedinsec;  

    private boolean isstop = false;  

    private Handler mHandler = new Handler() {  

        /* 

         * edit by yuanjingchao 2014-08-04 19:10 

         */  

        @Override  

        public void handleMessage(Message msg) {  

            // TODO Auto-generated method stub  

            super.handleMessage(msg);  

            switch (msg.what) {  

            case 1:  

                // 添加更新ui的代码  

                if (!isstop) {  

                    updateView();  

                    mHandler.sendEmptyMessageDelayed(1, 1000);  

                }  

                break;  

            case 0:  

                break;  

            }  

        }  

  

    };  

  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.activity_main);  

        initViews();  

    }  

    private void initViews() {  

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

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

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

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

        reset.setOnClickListener(new OnClickListener() {  

            @Override  

            public void onClick(View arg0) {  

                // TODO Auto-generated method stub  

              

                mint.setText("00");  

                sec.setText("00");  

                start.setText("start");  

                timeusedinsec=0;  

                isstop=true;  

            }  

        });  

        start.setOnClickListener(new OnClickListener() {  

            @Override  

            public void onClick(View arg0) {  

                // TODO Auto-generated method stub  

                mHandler.removeMessages(1);  

                String aaa=start.getText().toString();  

                if(aaa.equals("start")){  

                    mHandler.sendEmptyMessage(1);  

                    isstop = false;  

                    start.setText("pause");  

                }else {  

                    mHandler.sendEmptyMessage(0);  

                    isstop = true;  

                    start.setText("start");  

                }  

                  

            }  

        });  

    }  

    private void updateView() {  

        timeusedinsec += 1;  

        int minute = (int) (timeusedinsec / 60)%60;  

        int second = (int) (timeusedinsec % 60);  

        if (minute < 10)  

            mint.setText("0" + minute);  

        else  

            mint.setText("" + minute);  

        if (second < 10)  

            sec.setText("0" + second);  

        else  

            sec.setText("" + second);  

    }  

}  

转自:http://blog.csdn.net/huanongjingchao/article/details/38374233
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android 秒表