表白第一弹的内容发出去后,收到很多人的祝福和建议,很感谢大家的捧场,2014年经历了很多事,自己的创业路失败,重新找工作,一直忙碌,也没有再修改代码,现准备重新拾起来,把第一弹完善,然后送出表白第二弹,第三弹的设想己完成,正在coding中。
这一篇的主要内容是把完善后的第一弹的程序放出,顺便讲解一下这里的一些新的东西。
源码地址: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事件,记录点击时间和次数,并在一定时间内清空时间和次数,就得得到三次连击。
- 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里的小布局使用,比如我第四个界面里的部分效果。
- <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);
- }
- }
- <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就是高亮啦,具体还是看代码吧。