Android实现时钟特效
作者:_yuanhao 时间:2022-09-08 01:43:22
本文实例为大家分享了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
标签:Android,时钟
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
springboot中redis正确的使用详解
2021-12-24 02:39:17
Swagger及knife4j的基本使用详解
2023-02-13 09:34:00
Java客户端调用.NET的WebService实例
2023-11-03 17:22:00
![](https://img.aspxhome.com/file/2023/8/58988_0s.png)
Spring boot如何配置请求的入参和出参json数据格式
2023-10-23 17:27:48
通过实例解析java8中的parallelStream
2022-04-17 12:59:37
Java单例模式的线程安全,饿汉和懒汉模式详解
2022-05-31 16:12:08
Java集合框架之List ArrayList LinkedList使用详解刨析
2022-04-24 13:43:43
![](https://img.aspxhome.com/file/2023/4/61144_0s.png)
Android三方依赖冲突Gradle中exclude的使用
2023-05-05 05:09:56
![](https://img.aspxhome.com/file/2023/5/87335_0s.png)
教你使用Java获取当前时间戳的详细代码
2021-09-19 04:41:02
IDEA编译乱码Build Output提示信息乱码
2023-08-07 12:14:35
![](https://img.aspxhome.com/file/2023/9/72369_0s.png)
解决Springboot2.1.x配置Activiti7单独数据源问题
2022-07-28 02:24:04
Android 自定义标题栏 显示网页加载进度的方法实例
2023-10-11 09:51:22
Java实现月饼的制作、下单和售卖功能
2023-03-06 18:26:24
![](https://img.aspxhome.com/file/2023/4/85574_0s.png)
C#获取远程XML文档的方法
2023-06-26 17:41:16
Springboot基于websocket实现简单在线聊天功能
2023-12-21 08:58:18
C#显示文件夹下所有图片文件的方法
2021-11-25 23:50:10
SpringCloud如何搭建一个多模块项目
2022-10-22 13:33:39
![](https://img.aspxhome.com/file/2023/1/78881_0s.png)
学习JVM之java内存区域与异常
2022-07-09 09:59:41
![](https://img.aspxhome.com/file/2023/9/88139_0s.png)
Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享
2022-08-24 02:42:11
全面解析Java中的引用类型
2022-07-15 23:48:07