<TextClock
android:id="@+id/textClock"
android:layout_width="268dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:format24Hour="yyyy/MM/dd\n aa \n kk:mm:ss"
android:textColor="#f0f"
android:textSize="50sp"
tools:layout_editor_absoluteX="88dp"
tools:layout_editor_absoluteY="436dp" />
引入开源包
implementation 'com.github.li-xiaojun:MarqueeView:1.0'
<com.lxj.marqueeview.MarqueeView
android:id="@+id/textClock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:marqueeTextSize="50sp"
app:marqueeTextColor="#f0f" />
private MarqueeView textClock;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
textClock = findViewById(R.id.textClock);
textClock.setInterval(1000);
handler.sendEmptyMessage(99);
}
@Override
protected void onDestroy() {
handler.removeCallbacksAndMessages(callback);
super.onDestroy();
}
private final Handler.Callback callback = new Handler.Callback() {
@Override
public boolean handleMessage(@NonNull Message msg) {
if (msg.what == 99) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd aa kk:mm:ss");
String date = simpleDateFormat.format(new Date());
String[] dates = date.split(" ");
ArrayList<String> data = new ArrayList<>(Arrays.asList(dates));
textClock.setMarqueeData(data);
handler.sendEmptyMessageDelayed(99, 1000);
}
return false;
}
};
private final Handler handler = new Handler(Looper.getMainLooper(), callback);