本文实例为大家分享了Android实现时钟特效的具体代码,供大家参考,具体内容如下
效果展示:
功能介绍:
如果您想换一张背景图,可以点击左下角按按钮切换背景图片。
如果您不想看见右上方的日期,可以点击它,他就会随即隐藏。如果你想 再次查看,请点击左下角切换壁纸按钮他就会被再次展示。
Demo 下载地址:
点击此处跳转:AndroidClockDemo
部分代码展示:
mainActivity部分:
实现切换,获得事件并显示等功能。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
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