Android实现时钟特效
本文实例为大家分享了Android实现时钟特效的具体代码,供大家参考,具体内容如下
效果展示:
功能介绍:
如果您想换一张背景图,可以点击左下角按按钮切换背景图片。
如果您不想看见右上方的日期,可以点击它,他就会随即隐藏。如果你想再次查看,请点击左下角切换壁纸按钮他就会被再次展示。
Demo下载地址:
点击此处跳转:AndroidClockDemo
部分代码展示:
mainActivity部分:
实现切换,获得事件并显示等功能。
publicclassMainActivityextendsAppCompatActivity{
privateint[]imageIds=newint[]{
R.drawable.bac_1,
R.drawable.bac_2,
R.drawable.bac_3,
R.drawable.bac_4
};
privateintnum=1;//num用于确定背景图
privatebooleanflagI=true;//i用于控制日期显隐
privateImageViewimageView;
privateTextViewtextView;
privateTextViewtextViewDate;
privateHandlerhandler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
SimpleDateFormatsimpleDateFormat=newSimpleDateFormat("HH:mm:ss");//HH:mm:ss
//获取当前时间
Datedate=newDate(System.currentTimeMillis());
textView.setText(""+simpleDateFormat.format(date));
simpleDateFormat=newSimpleDateFormat("yyyy年MM月dd日");//HH:mm:ss
textViewDate.setText(""+simpleDateFormat.format(date));
}
};
@Override
protectedvoidonCreate(BundlesavedInstanceState){
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);
}
//事件刷新线程
privatevoidrefreshTime(){
newThread(){//每秒更新时间
@Override
publicvoidrun(){
while(true){
Messagemeg=newMessage();
handler.sendMessage(meg);
try{
sleep(1000);
}catch(InterruptedExceptione){
e.printStackTrace();
}
}
}
}.start();
}
//日期显隐点击事件
publicvoidshow(Viewview){
if(flagI){
textViewDate.setVisibility(View.GONE);
flagI=false;
}//重新显现方法在背景按钮上
}
//悬浮按钮更换背景
publicvoidchange(Viewview){
imageView.setImageResource(imageIds[num++]);
num%=4;
textViewDate.setVisibility(View.VISIBLE);
flagI=true;
}
//设置系统菜单为透明
privatevoidtransparency(){
if(Build.VERSION.SDK_INT>=21){
ViewdecorView=getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
getWindow().setStatusBarColor(Color.TRANSPARENT);
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。