本文只是记录一些零碎的东西
google API 的路径:android/widget/Chronometer.html#setFormat(java.lang.String)( 今天被墙了)
Chronometer是TextView的子类,这个组件可以用1秒的时间间隔进行计时,并显示出计时结果。
Chronometer类有3个重要的方法:start、stop和setBase,其中start方法表示开始计时;stop方法表示停止计时;setBase方法表示重新计时。
最近想做一个计时的,自己使用handler也可以实现,想着google可能提供了,一查果然有,看看怎么使用
布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Chronometer
android:id="@+id/chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:format="%s"
android:textColor="#00FF00"
android:textSize="80sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onStart"
android:text="开始计时" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onStop"
android:text="停止计时" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onReset"
android:text="重置" />
</LinearLayout>
</LinearLayout>
java代码里
/**
* Chronometer 定时器
*
* @author chenling0418
*
*/
public class MainActivity extends Activity {
private Chronometer chronometer = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
chronometer = (Chronometer) findViewById(R.id.chronometer);
// chronometer.setFormat("%s"); // 00:00
}
/**
* 开始计时
* @param view
*/
public void onStart(View view) {
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();
}
/**
* 停止计时
* @param view
*/
public void onStop(View view) {
chronometer.stop();
Log.i("slack", chronometer.getText().toString());
}
/**
* 将计时器清零
* @param view
*/
public void onReset(View view) {
chronometer.setBase(SystemClock.elapsedRealtime());
}
}
其中得到显示的值,,计时的目的肯定是需要得到值得:chronometer.getText().toString()