1,AnalogClock(模拟时钟)直接继承View类
android:dial //设置该时钟的表盘图片
android:hand_huor //设置该时钟的时针图片
android:hand_minute //设置该时钟的分针图片
代码中使用:
<AnalogClock
android:id="@+id/ac"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tc"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toTopOf="@id/chronometer"
android:layout_width="100dp"
android:layout_height="100dp"
android:hand_hour="@drawable/leak_canary_icon"
android:dial="@drawable/ic_launcher_background"
/>
2,TextClock(文本时钟)继承TextView类
- android:format12Hour //设置时钟12小时制
- android:format24Hour //设置时钟24小时制
- android: TimeZone //设置该时钟的时区
代码中使用:
<TextClock
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
android:id="@+id/tc"
app:layout_constraintRight_toRightOf="parent"
android:layout_width="match_parent"
app:layout_constraintBottom_toTopOf="@id/ac"
android:format24Hour="yyyy年MM月dd日H:mma EEEE"
android:textSize="30dp"
android:layout_height="wrap_content" />
3,Chronometer(计时器)继承TextView类
- android:format //设置显示时间格式
- setFormat(String format); //设置显示时间格式
- setBase(long base); //设置计时器的起始时间
- start(); //开始计时
- stpo(); //停止计时
- setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener); //绑定一个事件监听器,当计时器改变时触发该监听器;
代码中使用:
1 布局中
<Chronometer
android:layout_width="match_parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/ac"
app:layout_constraintRight_toRightOf="parent"
android:id="@+id/chronometer"
android:textSize="40dp"
android:layout_height="wrap_content" />
2,代码中
newChronometer = findViewById(R.id.chronometer);
newChronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
if (SystemClock.elapsedRealtime() - chronometer.getBase() > 60000) {
chronometer.stop();
stopButton.setEnabled(false);
startButton.setEnabled(true);
}
}
});
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.start:
startButton.setEnabled(false);
stopButton.setEnabled(true);
newChronometer.setBase(SystemClock.elapsedRealtime());
newChronometer.start();
break;
case R.id.stop:
startButton.setEnabled(true);
stopButton.setEnabled(false);
newChronometer.stop();
break;
default:
}
}