Android学习笔记(1)

Android的学习刚刚起步,这几天都在学习界面编程的一些基础内容。

今天学习的是时钟(AnalogClock和DigitalClock),此外还学习了一个计时器组件:Chronometer(继承TextView),它会显示一段文本,但并不显示当前时间,而是显示从某个起始时间开始,一共过去了多少时间。

书上的例子是通过一个Button按钮来计时,20秒后使计时停止。我觉得这个例子相对比较死板,所以就增添了一个EditText,这样,用户可以输入任意的秒数进行计时,并且在计时停止时给予用户“时间到!”的提示。

代码如下:

package com.example.chronometertest;


import android.os.Bundle;
import android.os.SystemClock;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.view.Menu;
import android.view.View;
import android.view.View.*;
import android.widget.*;
import android.widget.Chronometer.OnChronometerTickListener;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final Chronometer ch=(Chronometer) findViewById(R.id.ch);
Button start=(Button) findViewById(R.id.start);
final EditText edtime=(EditText) findViewById(R.id.time);

//定义一个AlertDialog.Builder对象
final Builder builder=new AlertDialog.Builder(this);

start.setOnClickListener(new OnClickListener(){


@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//设置开始计时时间
ch.setBase(SystemClock.elapsedRealtime());
//启动开始计时
ch.start();
}
});

ch.setOnChronometerTickListener(new OnChronometerTickListener(){//当计时器改变时触发该监听器

@Override
public void onChronometerTick(Chronometer arg0) {
// TODO Auto-generated method stub
//获取输入的时间秒数
final int time=Integer.parseInt(edtime.getText().toString());
if(SystemClock.elapsedRealtime()-ch.getBase()>time*1000){
ch.stop();
builder.setTitle("提示").setMessage("时间到!").setPositiveButton("确定",null).show();
edtime.setText("");//将字段清空
}
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值