文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android实现时钟特效

2022-06-06 11:54

关注

本文实例为大家分享了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);
    }
  }
}
您可能感兴趣的文章:Android打造属于自己的时间钟表Android自定义控件实现时钟效果Android获取设备CPU核数、时钟频率以及内存大小的方法android实现widget时钟示例分享Android多功能时钟开发案例(实战篇)Android 仿日历翻页、仿htc时钟翻页、数字翻页切换效果android高仿小米时钟(使用Camera和Matrix实现3D效果)Android多功能时钟开发案例(基础篇)Android实现简单时钟View的方法Android自定义钟表特效


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯