Android实现时钟特效

作者:_yuanhao 时间:2022-09-08 01:43:22 

本文实例为大家分享了Android实现时钟特效的具体代码,供大家参考,具体内容如下

效果展示:

Android实现时钟特效

Android实现时钟特效

功能介绍:

如果您想换一张背景图,可以点击左下角按按钮切换背景图片。
如果您不想看见右上方的日期,可以点击它,他就会随即隐藏。如果你想 再次查看,请点击左下角切换壁纸按钮他就会被再次展示。

Demo 下载地址:

点击此处跳转:AndroidClockDemo

部分代码展示:

mainActivity部分:

实现切换,获得事件并显示等功能。


public class MainActivity extends AppCompatActivity {
 private int[] imageIds = new int[]{
     R.drawable.bac_1,
     R.drawable.bac_2,
     R.drawable.bac_3,
     R.drawable.bac_4
 };
 private int num = 1;     //num用于确定背景图
 private boolean flagI = true;//i 用于控制日期显隐
 private ImageView imageView;
 private TextView textView;
 private TextView textViewDate;
 private Handler handler = new Handler(){
   @Override
   public void handleMessage(Message msg) {
     SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");// HH:mm:ss
     //获取当前时间
     Date date = new Date(System.currentTimeMillis());
     textView.setText("" + simpleDateFormat.format(date));
     simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");// HH:mm:ss
     textViewDate.setText("" + simpleDateFormat.format(date));
   }
 };
 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
   transparency();//系统状态栏透明
   textView = (TextView) findViewById(R.id.txt);
   imageView = (ImageView) findViewById(R.id.background);
   textViewDate = (TextView) findViewById(R.id.date);
   refreshTime();
   getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
 }
 //事件刷新线程
 private void refreshTime(){
   new Thread(){//每秒更新时间
     @Override
     public void run() {
       while (true){
         Message meg = new Message();
         handler.sendMessage(meg);
         try {
           sleep(1000);
         } catch (InterruptedException e) {
           e.printStackTrace();
         }
       }
     }
   }.start();
 }
 //日期显隐点击事件
 public void show(View view){
   if(flagI) {
     textViewDate.setVisibility(View.GONE);
     flagI = false;
   }//重新显现方法在背景按钮上
 }
 //悬浮按钮 更换背景
 public void change(View view){
   imageView.setImageResource(imageIds[num++]);
   num %= 4;
   textViewDate.setVisibility(View.VISIBLE);
   flagI = true;
 }
 //设置系统菜单为透明
 private void transparency(){
   if (Build.VERSION.SDK_INT >= 21) {
     View decorView = getWindow().getDecorView();
     decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
     getWindow().setStatusBarColor(Color.TRANSPARENT);
   }
 }
}

来源:https://blog.csdn.net/qq_43377749/article/details/86364162

标签:Android,时钟
0
投稿

猜你喜欢

  • springboot中redis正确的使用详解

    2021-12-24 02:39:17
  • Swagger及knife4j的基本使用详解

    2023-02-13 09:34:00
  • Java客户端调用.NET的WebService实例

    2023-11-03 17:22:00
  • Spring boot如何配置请求的入参和出参json数据格式

    2023-10-23 17:27:48
  • 通过实例解析java8中的parallelStream

    2022-04-17 12:59:37
  • Java单例模式的线程安全,饿汉和懒汉模式详解

    2022-05-31 16:12:08
  • Java集合框架之List ArrayList LinkedList使用详解刨析

    2022-04-24 13:43:43
  • Android三方依赖冲突Gradle中exclude的使用

    2023-05-05 05:09:56
  • 教你使用Java获取当前时间戳的详细代码

    2021-09-19 04:41:02
  • IDEA编译乱码Build Output提示信息乱码

    2023-08-07 12:14:35
  • 解决Springboot2.1.x配置Activiti7单独数据源问题

    2022-07-28 02:24:04
  • Android 自定义标题栏 显示网页加载进度的方法实例

    2023-10-11 09:51:22
  • Java实现月饼的制作、下单和售卖功能

    2023-03-06 18:26:24
  • C#获取远程XML文档的方法

    2023-06-26 17:41:16
  • Springboot基于websocket实现简单在线聊天功能

    2023-12-21 08:58:18
  • C#显示文件夹下所有图片文件的方法

    2021-11-25 23:50:10
  • SpringCloud如何搭建一个多模块项目

    2022-10-22 13:33:39
  • 学习JVM之java内存区域与异常

    2022-07-09 09:59:41
  • Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享

    2022-08-24 02:42:11
  • 全面解析Java中的引用类型

    2022-07-15 23:48:07
  • asp之家 软件编程 m.aspxhome.com