欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现时钟特效

程序员文章站 2022-03-31 14:08:20
本文实例为大家分享了android实现时钟特效的具体代码,供大家参考,具体内容如下 效果展示: 功能介绍: 如果您想换一张背景图,可以点击左下角按按钮切换背景图片。 如...

本文实例为大家分享了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);
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。