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

点击上方“

程序人生

”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事



写在前面:

源码地址:http://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, 地址为:http://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);

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

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

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

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

点击图片get往期内容

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

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

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

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