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

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

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


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


使用:


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


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


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


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


按下时的动画(scale):


android:fromXScale="100%"
android:toXScale="110%"
android:fromYScale="100%"
android:toYScale="110%"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="true"

弹起时的动画(scale):

1. 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()方法,执行相应的业务,为按钮应用上动画

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;
}

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

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

目录
相关文章
|
6月前
|
XML Android开发 数据格式
android点击FrameLayout、LinearLayout等父布局没响应的原因以及解决方案
android点击FrameLayout、LinearLayout等父布局没响应的原因以及解决方案
182 2
|
6月前
|
测试技术 Android开发
Android按钮防抖动,避免发送多次请求
Android按钮防抖动,避免发送多次请求
116 0
|
6月前
|
Java Android开发
Android Studio入门之按钮触控的解析及实战(附源码 超详细必看)(包括按钮控件、点击和长按事件、禁用与恢复按钮)
Android Studio入门之按钮触控的解析及实战(附源码 超详细必看)(包括按钮控件、点击和长按事件、禁用与恢复按钮)
732 0
|
6月前
|
Android开发
Android Studio入门之图像显示解析及实战(附源码 超详细必看)(包括图像视图、图像按钮、同时展示文本与图像)
Android Studio入门之图像显示解析及实战(附源码 超详细必看)(包括图像视图、图像按钮、同时展示文本与图像)
287 1
|
3月前
|
Android开发
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
60 0
|
5月前
|
XML IDE 开发工具
【Android UI】自定义带按钮的标题栏
【Android UI】自定义带按钮的标题栏
62 7
【Android UI】自定义带按钮的标题栏
|
5月前
|
安全 JavaScript 前端开发
kotlin开发安卓app,JetPack Compose框架,给webview新增一个按钮,点击刷新网页
在Kotlin中开发Android应用,使用Jetpack Compose框架时,可以通过添加一个按钮到TopAppBar来实现WebView页面的刷新功能。按钮位于右上角,点击后调用`webViewState?.reload()`来刷新网页内容。以下是代码摘要:
|
5月前
|
存储 Android开发
安卓app,MediaPlayer播放本地音频 | 按钮控制播放和停止
在Jetpack Compose中,不直接操作原生Android组件如`Button`和`MediaPlayer`,而是使用Compose UI构建器定义界面并结合ViewModel管理音频播放逻辑。以下示例展示如何播放本地音频并用按钮控制播放/停止:创建一个`AudioPlayerViewModel`管理`MediaPlayer`实例和播放状态,然后在Compose UI中使用`Button`根据`isPlaying`状态控制播放。记得在`MainActivity`设置Compose UI,并处理相关依赖和权限。
|
5月前
|
XML 前端开发 API
Android中实现Bitmap在自定义View中的放大与拖动
Android中实现Bitmap在自定义View中的放大与拖动
150 1
|
5月前
|
XML Java Android开发
15. 【Android教程】按钮 Button/ImageButton
15. 【Android教程】按钮 Button/ImageButton
78 2
下一篇
无影云桌面