首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Android:OnTouchListener的简单使用,按钮点击放大与缩小

Android:OnTouchListener的简单使用,按钮点击放大与缩小

作者头像
程思扬
发布于 2022-01-10 14:46:04
发布于 2022-01-10 14:46:04
4.4K0
举报
文章被收录于专栏:程思阳的专栏程思阳的专栏

OnTouchListene是用来监听手机屏幕事件的监听,用来处理按下,抬起,滑动等动作

具体的有3中情况:UP抬起 DOWN按下 MOVE滑动

使用:

在Activity中,实现OnTouchListener 接口,重写 onTouch方法,为需要的控件setOnTouchListener

最后可以根据ID的不同,对不同的控件按下,抬起,滑动事件做不同的处理

通常在设计UI界面时,为了用户体验更好,通常在用户按下某个控件之后会有相应的小范围变大效果,在弹起之后,会恢复原样,这里可以用OnTouchListener 与动画共同实现

①自定义动画效果,按下和抬起分别执行两个不同的动画

按下时的动画(scale):

代码语言:javascript
复制
android:fromXScale="100%"
android:toXScale="110%"
android:fromYScale="100%"
android:toYScale="110%"
android:pivotX="50%"
android:pivotY="50%"

android:fillAfter="true"

弹起时的动画(scale):

代码语言:javascript
复制
 android:fromXScale="110%"
  android:toXScale="100%"
  android:fromYScale="110%"
  android:toYScale="100%"
  android:pivotX="50%"
  android:pivotY="50%"
  android:fillAfter="true"

②实现OnTouchListener 接口,为相应的按钮添加点击事件

ib_main_drag.setOnTouchListener(this); ③重写onTouch()方法,执行相应的业务,为按钮应用上动画

代码语言:javascript
复制
public boolean onTouch(View view, MotionEvent event) {

//按下操作
if(event.getAction()==MotionEvent.ACTION_DOWN){
        animation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.but_scale_down);
                view.startAnimation(animation);
        }
        //抬起操作
        if(event.getAction()==MotionEvent.ACTION_UP){
        animation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.but_scale_up);
                view.startAnimation(animation);
        }
        //移动操作
        if(event.getAction()==MotionEvent.ACTION_MOVE){
         }
return false;
}

这里没有写滑动的操作,是因为实现按钮的放大与缩小不需要处理滑动事件

如此,就实现了点击按钮之后,按钮会放大,在松开之后,会恢复到原样

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/07/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档