欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

程序员表白程序,开放源码在此!

程序员文章站 2022-03-25 12:17:27
...


写在前面:


源码地址:https://github.com/wuxia2001/mylove.git


APK 地址:http://zhushou.360.cn/detail/index/soft_id/1380324 


CSDN 下载地址:http://download.csdn.net/detail/wuxia2001/8703091


先上图:

程序员表白程序,开放源码在此!    程序员表白程序,开放源码在此!


这次上的都是 GIF,通过手机录屏得到的。


主要改动在于多了一个界面,然后对部分界面进行修改,增快的播放速度。


这里增加了一种进入设置界面方法,以前的先点菜单再点返回依然有效,增加了在任何界面连击三下就可进入设置界面。


连击三下(两下)代码如下:


在最外围的布局里增加 click 事件,记录点击时间和次数,并在一定时间内清空时间和次数,就得得到三次连击。


[java] view plain copy
f1.setOnClickListener(new OnClickListener() {  
     
   @Override  
   public void onClick(View v)
{  
       // TODO Auto-generated method stub  
       if((System.currentTimeMillis()-lastclicktime)<=1500){  
           lastclicktime = System.currentTimeMillis();  
           clicktimes++;  
       }else{  
           lastclicktime=System.currentTimeMillis();  
       }  
       if(clicktimes>=2) gotoConfigAcitvity();  
       handler.sendEmptyMessageDelayed(CACLICK, 4000);  
             
   }  
});


从 gif 图片上可以看到进入到设置界面有个动态效果,这个效果取自于 SmoothTransition, 地址为:https://github.com/dkmeteor/SmoothTransition。


他己完整的对整个过程都封装了,提供了翻转,淡入淡出,左飞入,上飞入,scale 等效果,可以对整个界面和 fragment 使用,具体效果请去看他的 demo。


对于这个过程,可以对几个动画效果联合在一起使用,这个效果是对整个效果的所有控件,先 setAlpha(0), 然后逐步用属性动画把所有控件显示出来,适用范围很广,也要拆分开来,对一个 layout 里的小布局使用,比如我第四个界面里的部分效果。


[java] view plain copy
<span style="white-space:pre">
   </span>//在拆开使用前要把view里的所有控件透明  
<span style="white-space:pre">
   </span>private void bindAnimation(View view) {  
       if (view instanceof ViewGroup) {  
           ViewGroup group = (ViewGroup) view;      
               for (int i = 0; i < group.getChildCount(); i++) {  
                   bindAnimation(group.getChildAt(i));  
               }            
       } else {  
           view.setAlpha(0);  
       }  
   }
[java] view plain copy
<span style="white-space:pre">
   </span>
new SwitchAnimationUtil(2000,5000).startAnimation(sf_imageview, AnimationType.ALPHA);  
   new SwitchAnimationUtil(1000,5000).startAnimation(rl_middle_love, AnimationType.ROTATE);  
   new SwitchAnimationUtil(2000,5000).startAnimation(iv_love_pink, AnimationType.ALPHA);  
   new SwitchAnimationUtil(2000,5000).startAnimation(ll_name, AnimationType.SCALE);


还可以看到从第三个界面进入第四个界面时会有个水纹波的效果。


这个效果用的是同一个的界面过渡效果,地址为:https://github.com/dkmeteor/ActivityAnimationLib,他这里提供了七种效果,包括折叠,水纹,模糊,关门等效果。我的源码里集成了水纹效果,其他都删去了,有想法的同学去看他的源码吧。


还可以在最后一个界面,有一个闪烁的效果,这个效果用的是开源代码 ShimmerFrameLayout,其实就是把整个 layout 里的控件把 alpha 先设成小一点,比如 0.8,然后 1 就是高亮啦,具体还是看代码吧~


最后,祝福大家都能告白成功程序员表白程序,开放源码在此!


公众号内回复“1”带你进粉丝群!程序员表白程序,开放源码在此!