http://blog.csdn.net/t12x3456/article/details/9006087

http://blog.csdn.net/t12x3456/article/details/9006087

http://blog.csdn.net/t12x3456/article/details/9006087

http://blog.csdn.net/t12x3456/article/details/9006087



Android 仿3g体育门户客户端赛事图标浮出效果

分类:Android 2121人阅读 评论(1) 收藏 举报

最近在玩3g体育门户客户端的时候,看到这样个效果: 轻触赛事图标,会有一个图标变大浮出的效果.,蛮有意思的.于是就把仿照它做了一个.

这个是原图:


实际上是给图标的触摸事件中添加了一个缩放的动画,代码如下.

[java] view plain copy
  1. packagecom.test;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.view.MotionEvent;
  5. importandroid.view.View;
  6. importandroid.view.View.OnTouchListener;
  7. importandroid.view.animation.Animation;
  8. importandroid.view.animation.ScaleAnimation;
  9. importandroid.widget.Button;
  10. publicclassAnimationButtonActivityextendsActivity{
  11. @Override
  12. publicvoidonCreate(BundlesavedInstanceState){
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.main);
  15. finalButtontest=(Button)findViewById(R.id.test_bt);
  16. //floatf1=1.0F;
  17. //floatf2=1.3F;
  18. //intj=1;
  19. //floatf3=0.5F;
  20. //参数说明:
  21. //floatfromX动画起始时X坐标上的伸缩尺寸
  22. //floattoX动画结束时X坐标上的伸缩尺寸
  23. //floatfromY动画起始时Y坐标上的伸缩尺寸
  24. //floattoY动画结束时Y坐标上的伸缩尺寸
  25. //intpivotXType动画在X轴相对于物件位置类型
  26. //floatpivotXValue动画相对于物件的X坐标的开始位置
  27. //intpivotYType动画在Y轴相对于物件位置类型
  28. //floatpivotYValue动画相对于物件的Y坐标的开始位置
  29. finalAnimationlogoAnimation=newScaleAnimation(1.0F,1.3F,1.0F,1.3F,1,0.5F,1,0.5F);
  30. //设置动画间隔
  31. logoAnimation.setDuration(100L);
  32. test.setOnTouchListener(newOnTouchListener(){
  33. @Override
  34. publicbooleanonTouch(Viewv,MotionEventevent){
  35. //开始动画
  36. test.startAnimation(logoAnimation);
  37. returnfalse;
  38. }
  39. });
  40. }
  41. }







Android 防止控件被重复点击

分类:Android 6199人阅读 评论(9) 收藏 举报

在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速且重复的点击为无效点击.


解决的思路如下:

1. 需要定义一个全局变量 lastClickTime, 用来记录最后点击的时间.

2. 每次点击前需要进行判断, 用lastClickTime 和当前时间想比较,并且更新最后点击时间,若小于临界值,则算无效点击,不触发事件

注:其实用时间去判断重复点击,更多的是防止短时间大量重复或者也可是说是无效的操作, 而间隔时间要根据具体项目中需求情况而定. 这里其实还有一种更好的做法,就是利用java中的信号量Semaphore,以后有时间我会介绍这种方法.

下面请看代码:

工具类:

[java] view plain copy
  1. publicclassCommonUtils{
  2. privatestaticlonglastClickTime;
  3. publicstaticbooleanisFastDoubleClick(){
  4. longtime=System.currentTimeMillis();
  5. longtimeD=time-lastClickTime;
  6. if(0<timeD&&timeD<800){
[java] view plain copy
  1. lastClickTime=time;
  2. returntrue;
  3. }
  4. returnfalse;
  5. }
  6. }


  7. publicvoidonClick(Viewv){
  8. if(Utils.isFastDoubleClick()){
  9. return;
  10. }else{
  11. //弹出Toast或者Dialog
  12. }
  13. }

  14. 这样,两次点击时间相隔小于800ms,便不会触发事件,具体的临界时间可以根据需求自己修改.<br>

  15. 上一篇






更多相关文章

  1. Android(安卓)自定义键盘中禁用点击预览弹窗
  2. 【android】设置View字体点击变色和边框背景设置
  3. Android点击WebView网页中的email发送邮件调用
  4. Android(安卓)视图动画(View Animation) 使用详解
  5. Android嵌入unity界面,崩溃及卸载activity后不可点击问题
  6. android 触摸(Touch)事件、点击(Click)事件的区别(详细解析)
  7. 谁说Android的动画不廉价(一)之项目分层
  8. Android(安卓)Studio安装教程
  9. 当expandlistview的getGroupView或者getChildView中包含checkbox

随机推荐

  1. ApiDemos导入时No projects are found to
  2. Android采用AIDL实现两个应用间通信
  3. 【Android】第5章(8) 图片库(Galery)
  4. Android(安卓)Studio的(gradle sync faile
  5. Mac Android(安卓)studio NDK 开发
  6. 【Android】本地图片选择(打开媒体库,选择
  7. Android的Json字符串用GSON解析注意的问
  8. 第二篇:实现uni-app和原生(Android)以及H5
  9. android轻量级开源缓存框架——ASimpleCa
  10. Unity Android(安卓)在Windows环境下使用