Android(安卓)仿3g体育门户客户端赛事图标浮出效果
16lz
2021-12-04
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 2013-06-02 14:34 2121人阅读 评论(1) 收藏 举报最近在玩3g体育门户客户端的时候,看到这样个效果: 轻触赛事图标,会有一个图标变大浮出的效果.,蛮有意思的.于是就把仿照它做了一个.
这个是原图:
实际上是给图标的触摸事件中添加了一个缩放的动画,代码如下.
[java] view plain copy
- packagecom.test;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.view.MotionEvent;
- importandroid.view.View;
- importandroid.view.View.OnTouchListener;
- importandroid.view.animation.Animation;
- importandroid.view.animation.ScaleAnimation;
- importandroid.widget.Button;
- publicclassAnimationButtonActivityextendsActivity{
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- finalButtontest=(Button)findViewById(R.id.test_bt);
- //floatf1=1.0F;
- //floatf2=1.3F;
- //intj=1;
- //floatf3=0.5F;
- //参数说明:
- //floatfromX动画起始时X坐标上的伸缩尺寸
- //floattoX动画结束时X坐标上的伸缩尺寸
- //floatfromY动画起始时Y坐标上的伸缩尺寸
- //floattoY动画结束时Y坐标上的伸缩尺寸
- //intpivotXType动画在X轴相对于物件位置类型
- //floatpivotXValue动画相对于物件的X坐标的开始位置
- //intpivotYType动画在Y轴相对于物件位置类型
- //floatpivotYValue动画相对于物件的Y坐标的开始位置
- finalAnimationlogoAnimation=newScaleAnimation(1.0F,1.3F,1.0F,1.3F,1,0.5F,1,0.5F);
- //设置动画间隔
- logoAnimation.setDuration(100L);
- test.setOnTouchListener(newOnTouchListener(){
- @Override
- publicbooleanonTouch(Viewv,MotionEventevent){
- //开始动画
- test.startAnimation(logoAnimation);
- returnfalse;
- }
- });
- }
- }
Android 防止控件被重复点击
分类:Android 2012-11-09 08:51 6199人阅读 评论(9) 收藏 举报在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速且重复的点击为无效点击.
解决的思路如下:
1. 需要定义一个全局变量 lastClickTime, 用来记录最后点击的时间.
2. 每次点击前需要进行判断, 用lastClickTime 和当前时间想比较,并且更新最后点击时间,若小于临界值,则算无效点击,不触发事件
注:其实用时间去判断重复点击,更多的是防止短时间大量重复或者也可是说是无效的操作, 而间隔时间要根据具体项目中需求情况而定. 这里其实还有一种更好的做法,就是利用java中的信号量Semaphore,以后有时间我会介绍这种方法.
下面请看代码:
工具类:
[java] view plain copy
- publicclassCommonUtils{
- privatestaticlonglastClickTime;
- publicstaticbooleanisFastDoubleClick(){
- longtime=System.currentTimeMillis();
- longtimeD=time-lastClickTime;
- if(0<timeD&&timeD<800){
- lastClickTime=time;
- returntrue;
- }
- returnfalse;
- }
- }
-
-
- publicvoidonClick(Viewv){
- if(Utils.isFastDoubleClick()){
- return;
- }else{
- //弹出Toast或者Dialog
- }
- }
-
- 这样,两次点击时间相隔小于800ms,便不会触发事件,具体的临界时间可以根据需求自己修改.<br>
-
上一篇
更多相关文章
- Android(安卓)自定义键盘中禁用点击预览弹窗
- 【android】设置View字体点击变色和边框背景设置
- Android点击WebView网页中的email发送邮件调用
- Android(安卓)视图动画(View Animation) 使用详解
- Android嵌入unity界面,崩溃及卸载activity后不可点击问题
- android 触摸(Touch)事件、点击(Click)事件的区别(详细解析)
- 谁说Android的动画不廉价(一)之项目分层
- Android(安卓)Studio安装教程
- 当expandlistview的getGroupView或者getChildView中包含checkbox