软件编程
位置:首页>> 软件编程>> Android编程>> Android实现时钟特效

Android实现时钟特效

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

标签: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);
   }
 }
}

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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com