任务:


自己完成的:

遇到的问题:

1.Android Studio 中 calendar设置系统时区无效的问题



14:50它显示为06:50,时间显示错误,这是因为时区不同。

在8.0以后设置时区,有所改动,不能直接设置 比如GMT+8:00这样的时区了,要设置 时区的id。

id要设置为 比如 北京时间 为:Asia/Shanghai 这就是北京时间的时区id

Android Studio 中 calendar设置时区无效的问题,改成下面这种形式便可解决:

//设置系统时区
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));

2.怎么更改数字字体


原:  现在: 


操作:

打开res,新建一个new Resource Directory,更改Resource type为font.然后导入字体进这个文件夹。

命名这个字体为font,如图。然后在layout文件夹里对所需要改变的文本增加一行代码:

android:fontFamily="@font/font"

总代码:

TimerDemoActivity01


package com.example.helloandroid2;import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.widget.TextView;import java.util.Calendar;
import java.util.TimeZone;
import java.util.Timer;
import java.util.TimerTask;public class TimerDemoActivity01 extends AppCompatActivity {private Timer timer;private TimerTask task;private TextView tv1,tv2,tv3,tv4,tv5;Calendar cal;public void init() {timer = new Timer();String[] weeks = {"周日","周一","周二","周三","周四","周五","周六"};tv1 = (TextView) findViewById(R.id.textView1);tv2 = (TextView) findViewById(R.id.textView2);tv3 = (TextView) findViewById(R.id.textView3);tv4 = (TextView) findViewById(R.id.textView4);tv5 = (TextView) findViewById(R.id.textView5);//设置系统时区TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));task = new TimerTask() {@Overridepublic void run() {runOnUiThread(new Runnable() { //在定时任务线程中再启动一个runOnUiThread 线程去更新UI@Overridepublic void run() {cal = Calendar.getInstance();//能获取当前的时间,一定要换在TimerTask()里面,这样每回才会刷新tv1.setText(String.format("%02d:%02d",cal.get(Calendar.HOUR_OF_DAY),cal.get(Calendar.MINUTE)));tv2.setText(//判断当前时间是上午还是下午----0为上午,1为下午cal.get(Calendar.AM_PM)==0?"AM":"PM");tv3.setText(String.format("%02d",cal.get(Calendar.SECOND)));tv4.setText(//获取对应日期是该周的第几天weeks[cal.get(Calendar.DAY_OF_WEEK) - 1]);tv5.setText(//获取对应日期的月份,月份从0开始,故为cal.get(Calendar.MONTH)+1String.format("%4d/%d/%d",cal.get(Calendar.YEAR),cal.get(Calendar.MONTH)+1,cal.get(Calendar.DATE)));}});//end runOnUiThread}};}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_timer_demo01);init();timer.schedule(task,0,1000);ActionBar actionBar = getSupportActionBar(); //获取ActionBaractionBar.setTitle("TimerDemo01"); //设置标题}
}

layout文件:activity_timer_domo01.xml


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/black"tools:context=".TimerDemoActivity01"><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:fontFamily="@font/font"android:text="20:19"android:textColor="@color/white"android:textSize="96sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.352"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.409" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="PM"android:textColor="@color/white"android:textSize="24sp"app:layout_constraintBottom_toTopOf="@+id/textView3"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.192"app:layout_constraintStart_toEndOf="@+id/textView1"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.973" /><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:fontFamily="@font/font"android:text="49"android:textColor="@color/white"android:textSize="48sp"app:layout_constraintBaseline_toBaselineOf="@+id/textView1"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.106"app:layout_constraintStart_toEndOf="@+id/textView1" /><TextViewandroid:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="100dp"android:text="周五"android:textColor="@color/white"android:textSize="24sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView1"app:layout_constraintVertical_bias="0.0" /><TextViewandroid:id="@+id/textView5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="2023/3/7"android:textColor="@color/white"android:textSize="24sp"app:layout_constraintBaseline_toBaselineOf="@+id/textView4"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.46"app:layout_constraintStart_toEndOf="@+id/textView4" /><androidx.constraintlayout.widget.Guidelineandroid:id="@+id/guideline2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"app:layout_constraintGuide_begin="-1dp" /></androidx.constraintlayout.widget.ConstraintLayout>

@感谢大佬指正

Timer + TimerTask 实现数字时钟相关推荐

  1. Timer+TimerTask实现数字时钟

    成果展示 布局 布局主题背景颜色采用#000000(纯黑色),各TextView字体颜色采用#FFFFFF(纯白色). 使用五个TextView,分别实现小时:分钟,秒钟,am,pm,周日,具体日期几 ...

  2. 5 数字时钟 - Java

    题目: 使用线程对象或Timer定时器制作数字时钟标签组件,显示当前日期和时间,每秒刷新,将该标签添加到框架窗口. 解答: 1. while方法: 通过使用while循环不停获取当前时间并显示,从而达 ...

  3. Timer实现数字时钟

    最近在做一个GPS的应用,其中界面使用Fragment实现切换.其中一个Fragment中实现了数字时钟,即每一秒就更新数字显示那种~~ 结果在切换Fragment时,出现了下面的错误: 01-23 ...

  4. android launcher桌面数字时钟及appwidget更新问题

    代码下载http://download.csdn.net/detail/ldinvicible/5010177 一.桌面数字时钟控件效果图 二. 1.准备好一个Widget的显示布局文件 layout ...

  5. 开发数字时钟桌面小控件

    随时随地技术实战干货,获取项目源码.学习资料,请关注源代码社区公众号(ydmsq666) 所谓桌面小控件,就是指能直接显示在Android系统桌面的小程序,比如模拟时钟等.桌面小控件是通过Broadc ...

  6. Qt样例学习1(数字时钟)

    /*main.cpp*/ #include <QApplication> #include <QTextCodec> #include "digitalclock.h ...

  7. java多线程世界时钟_Java实现的动态数字时钟功能示例【显示世界时间】

    本文实例讲述了Java实现的动态数字时钟功能.分享给大家供大家参考,具体如下: 构建: 1. Clock继承 JFrame 为运行页面 2. ClockText 测试类 创建 Clock 对象 运行效 ...

  8. VHDL数字时钟设计及引脚锁定方法

    目录 引言 课设题目 时,分,秒模块 分频模块 按键去抖模块 调时模块 蜂鸣器报警模块 扫描信号输出模块 二进制转八段数码管显示信号 结果展示 小结 引言 最近快期末考试周了,课设任务也随之而来.这个 ...

  9. java如何实现动态时钟_Java实现动态数字时钟

    本文实例为大家分享了Java实现动态数字时钟的具体代码,供大家参考,具体内容如下 构建: Clock继承 JFrame 为运行页面 ClockText 测试类 创建 Clock 对象 运行效果: 具体 ...

最新文章

  1. 自动化运维工具Puppet(管理资源)
  2. SRS的2021,盐碱地里种西瓜的王婆
  3. 【HDU - 6081】度度熊的王国战略(SW算法,全局最小割)
  4. Html富文本编辑器
  5. 素描滤镜c语言算法,python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现).pdf...
  6. 本地提交spark_spark快速入门(三)-------spark部署及运行模式
  7. 人脸方向学习(二):人脸质量评价-质量判断总结
  8. poj - 2255 Tree Recovery
  9. B - 最短路径问题
  10. python 学习之路1-如何入门
  11. 国内从事机器视觉领域的公司
  12. 总结软考(软件设计师中级)——计算机语言基础的知识
  13. 盘点MAC下用过的五笔输入法
  14. shell 参数的分组读取
  15. ei指什么_什么是EI?
  16. 公司的技术团队负责人(团队管理),研发团队
  17. 使用GrowPart工具完成对LVM逻辑卷的在线热扩容
  18. 职称计算机ppt2003窍门,职称计算机PowerPoint2003:幻灯片文字-段落编辑
  19. pr2_moveit包解析
  20. linux为什么要杀掉进程,[linux服务器][进程管理]用fuser杀掉进程

热门文章

  1. 易语言miniblink交互教程——第三课 易语言与 Miniblink 交互
  2. YUV player 集锦
  3. linux 当前登录用户及历史登录用户信息查询
  4. 基于springboot+layui的简易门户网、发布后台
  5. HTML及CSS学习笔记 13 - 背景
  6. Win10 安裝pytorch 的坑
  7. 爱奇艺客户端0531
  8. Primitive roots
  9. 乐里斗未能链接服务器,LOONEY TUNES 反斗世界无法连接服务器是什么原因
  10. python爬虫实时更新数据_爬虫的增量式抓取和数据更新