Android实现时钟特效
时间:2022-07-27
本文章向大家介绍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);
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助。
- 一段oracle中的“复杂”分组统计sql
- 通过Chocolatey软件包管理器安装.NET Core
- rsync同步时,删除目标目录比源目录多余文件的方法(--delete)
- 近期一枚“大文娱”dawenyu.com域名以小六位价格易主
- 分布式监控系统Zabbix-3.0.3-完整安装记录(0)
- URL安全的Base64编码
- 温故而知新:设计模式之原型模式(Prototype)
- Windows 7上执行Cake 报错原因是Powershell 版本问题
- 温故而知新:类索引器
- Visual Studio Code 代理设置
- 温故而知新:设计模式之工厂模式(Factory)
- 通过Jexus 部署 dotnetcore版本MusicStore 示例程序
- jquery.mobile手机网页简要
- 跟张志东深聊腾讯的“进化力”
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 五分钟带你读懂 TCP全连接队列(图文并茂)
- Python基础
- JDK15正式发布,新增功能预览!
- Magicodes.IE 2.3重磅发布——.NET Core开源导入导出库
- 安防视频监控系统视频上云解决方案EasyCVR音频基础知识介绍
- 安防视频监控系统视频上云解决方案EasyCVR语音转发功能音频数据打包发送流程介绍
- 视频上云/安防视频融合平台/安防视频云服务EasyCVR通道播放界面出现样式重叠如何修正?
- 什么是MySQL数据库?看这一篇干货文章就够了!
- 折线图
- 雷达图
- Cypress系列(49)- invoke() 命令详解
- java线程池(三):ThreadPoolExecutor源码分析
- 社会工程学
- msf之木马程序
- 快速学习-Saturn用户的认证与授权