程序员表白程序,开放源码在此!
写在前面:
源码地址: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”带你进粉丝群!