Android实现时钟特效

前端之家收集整理的这篇文章主要介绍了Android实现时钟特效前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

效果展示:

Android实现时钟特效


Android实现时钟特效


功能介绍:

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

Demo 下载地址:

点击此处跳转AndroidClockDemo

部分代码展示:

mainActivity部分:

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

  1. public class MainActivity extends AppCompatActivity {
  2. private int[] imageIds = new int[]{
  3. R.drawable.bac_1,R.drawable.bac_2,R.drawable.bac_3,R.drawable.bac_4
  4. };
  5. private int num = 1; //num用于确定背景图
  6. private boolean flagI = true;//i 用于控制日期显隐
  7. private ImageView imageView;
  8. private TextView textView;
  9. private TextView textViewDate;
  10. private Handler handler = new Handler(){
  11. @Override
  12. public void handleMessage(Message msg) {
  13. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");// HH:mm:ss
  14. //获取当前时间
  15. Date date = new Date(System.currentTimeMillis());
  16. textView.setText("" + simpleDateFormat.format(date));
  17. simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");// HH:mm:ss
  18. textViewDate.setText("" + simpleDateFormat.format(date));
  19. }
  20. };
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_main);
  25. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  26. transparency();//系统状态栏透明
  27. textView = (TextView) findViewById(R.id.txt);
  28. imageView = (ImageView) findViewById(R.id.background);
  29. textViewDate = (TextView) findViewById(R.id.date);
  30. refreshTime();
  31. getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  32. }
  33. //事件刷新线程
  34. private void refreshTime(){
  35. new Thread(){//每秒更新时间
  36. @Override
  37. public void run() {
  38. while (true){
  39. Message meg = new Message();
  40. handler.sendMessage(meg);
  41. try {
  42. sleep(1000);
  43. } catch (InterruptedException e) {
  44. e.printStackTrace();
  45. }
  46. }
  47. }
  48. }.start();
  49. }
  50. //日期显隐点击事件
  51. public void show(View view){
  52. if(flagI) {
  53. textViewDate.setVisibility(View.GONE);
  54. flagI = false;
  55. }//重新显现方法在背景按钮上
  56. }
  57. //悬浮按钮 更换背景
  58. public void change(View view){
  59. imageView.setImageResource(imageIds[num++]);
  60. num %= 4;
  61. textViewDate.setVisibility(View.VISIBLE);
  62. flagI = true;
  63. }
  64. //设置系统菜单为透明
  65. private void transparency(){
  66. if (Build.VERSION.SDK_INT >= 21) {
  67. View decorView = getWindow().getDecorView();
  68. decorView.setsystemUIVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
  69. getWindow().setStatusBarColor(Color.TRANSPARENT);
  70. }
  71. }
  72. }

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

猜你在找的Android相关文章