用户界面View之Chronometer
来源:互联网 发布:淘宝上的中药能买吗 编辑:程序博客网 时间:2024/05/29 16:40
众里寻她千百度,蓦然回首,那人却在灯火阑珊处。——宋辛弃疾青玉案
本讲内容:Chronometer 定时器
Chronometer是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间,它将会使用你的时间通话开始。默认情况下它会显示在当前定时器的值的形式“分:秒”或“H:MM:SS的”,或者可以使用的Set(字符串)格式的定时器值到一个任意字符串
一、常用属性
android:format:定义时间的格式如:hh:mm:ss
二、常用方法
1、setBase(long base):设置倒计时定时器
2、setFormat(String format):设置显示时间的格式。
3、start():开始计时
4、stop():停止计时
5、setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener):当计时器改变时调用。
示例一:
下面是res/layout/activity_main.xml 布局文件:
<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.example.text1.MainActivity$PlaceholderFragment" > <Chronometer android:id="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:format="計時:%s"/> <Button android:id="@+id/start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="開始"/> <Button android:id="@+id/stop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="停止"/> <Button android:id="@+id/reset" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="重置"/> <Button android:id="@+id/set_format" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="設置格式"/> <Button android:id="@+id/clear_format" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="清除格式"/></LinearLayout>
下面是MainActivity.java主界面文件:
public class MainActivity extends Activity implements OnClickListener{private Button star;private Button stop;private Button reset;private Button set_format;private Button clear_format;private Chronometer chronometer;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViews();}public void findViews() {star=(Button) findViewById(R.id.start);stop=(Button) findViewById(R.id.stop);reset=(Button) findViewById(R.id.reset);set_format=(Button) findViewById(R.id.set_format);clear_format=(Button) findViewById(R.id.clear_format);chronometer=(Chronometer) findViewById(R.id.chronometer);//chronometer.setFormat("計時:%s");star.setOnClickListener(this);stop.setOnClickListener(this);reset.setOnClickListener(this);set_format.setOnClickListener(this);clear_format.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.start:chronometer.start();break;case R.id.stop:chronometer.stop();break;case R.id.reset:chronometer.setBase(SystemClock.elapsedRealtime());//<span style="color: rgb(51, 51, 51); font-family: 'Microsoft Yahei'; font-size: 14px; line-height: 28px; white-space: pre-wrap;">设定系统时钟.</span>break;case R.id.set_format:chronometer.setFormat("定時計時器 (%s)");break;case R.id.clear_format:chronometer.setFormat(null);break;default:break;}}}
示例二:
下面是res/layout/activity_main.xml 布局文件:
<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.example.text1.MainActivity$PlaceholderFragment" > <Chronometer android:id="@+id/chronometer" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:format="%s" android:gravity="center" android:textColor="#542039" android:textSize="25sp"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" android:gravity="center" android:text="设置时间:" android:textSize="25sp"/> <EditText android:id="@+id/settime" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="3" android:inputType="number"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp"> <Button android:id="@+id/start" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="开始记时"/> <Button android:id="@+id/stop" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="停止记时" /> <Button android:id="@+id/reset" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="重置"/> </LinearLayout> </LinearLayout>
下面是MainActivity.java主界面文件:
public class MainActivity extends Activity implements OnClickListener{ private Button star; private Button stop; private Button reset; private EditText settime; private Chronometer chronometer; private int startTime=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViews(); // 设置开始讲时时间 chronometer.setBase(SystemClock.elapsedRealtime()); // 开始记时 chronometer.start(); chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { @Override public void onChronometerTick(Chronometer chronometer) { // 如果开始计时到现在超过了startime秒 if(SystemClock.elapsedRealtime()-chronometer.getBase()>10*1000){ chronometer.stop(); //给用户提示 showDialog(); } } }); } private void findViews() { star=(Button) findViewById(R.id.start); stop=(Button) findViewById(R.id.stop); reset=(Button) findViewById(R.id.reset); settime=(EditText) findViewById(R.id.settime); chronometer=(Chronometer) findViewById(R.id.chronometer); star.setOnClickListener(this); stop.setOnClickListener(this); reset.setOnClickListener(this); } private void showDialog() { AlertDialog.Builder builder=new Builder(this); builder.setIcon(R.drawable.ic_launcher).setTitle("警告").setMessage("时间到"); builder.setPositiveButton("确定", null).setNegativeButton("取消", null).show(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.start: String ss=settime.getText().toString(); if(!(ss.equals("")&&ss!=null)){ startTime=Integer.parseInt(ss); } // 设置开始讲时时间 chronometer.setBase(SystemClock.elapsedRealtime()); // 开始记时 chronometer.start(); break; case R.id.stop: chronometer.stop(); break; case R.id.reset: chronometer.setBase(SystemClock.elapsedRealtime()); break; } } }
Take your time and enjoy it
0 0
- 用户界面View之Chronometer
- View之Chronometer计时器
- Android用户界面基础之Chronometer控件学习
- apis.view 之 Animation,AutoComplete,Baseline,Chronometer
- 用户界面View之CheckBox
- 用户界面View之RadioButton
- 用户界面View之Spinner
- 用户界面View之AutoCompleteTextView
- 用户界面View之Layout
- 用户界面View之GridView
- 用户界面View之PopupWindow
- 用户界面View之EditText
- 用户界面View之WebView
- 用户界面View之ProgressBar
- 用户界面View之ViewGroup
- 用户界面View之ViewFlipper
- 用户界面View之ScrollView
- 用户界面View之Gallery
- Linux内核启动参数传递
- php 组合算法(从n个数中取出m个元素进行组合,不考虑排序和元素重复)
- Java复制文件
- mysql 锁
- 最长递增子序列
- 用户界面View之Chronometer
- win7 64位系统怎么使用debug命令
- Python "Attribute" Definition
- A == B ?
- addActionListener(this)
- Ubuntu 15.04 开发计划确定 最终发布日期2015年4月23日
- 删除linux系统中的eth0.bak与多余的网卡
- windows server 2008 r2 下的VMware虚拟机共享主机上网
- Linux ramdisk启动