按压效果一般都是使用selector ,不过当界面里面文字内容比较多的时候 感觉有点麻烦

下面记录一个onTouch 使用按压效果

一般的写法

  view.setOnTouchListener((view, motionEvent) -> {if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {view.setAlpha(0.4f);} else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {view.setAlpha(1.0f);}return false;});

如果一个一个写感觉有点麻烦,下面是一个简单的静态方法

public class PressUtils {public static void  setPressChange(Context context, View... views) {if (context !=null && views !=null){for (View view : views) {view.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:v.setAlpha(0.4f);break;case MotionEvent.ACTION_UP:case MotionEvent.ACTION_CANCEL:case MotionEvent.ACTION_OUTSIDE:v.setAlpha(1.0f);break;}return false;}});}}}
}

使用方法

PressUtils.setPressChange(this, view); 一个view 按压效果
PressUtils.setPressChange(this,view,view1);  点击一个view 2个同时有按压效果

Android 按压效果的工具类相关推荐

  1. android 字体像素转换工具类_Android中px与dip,sp与dip等的转换工具类

    Android中px与dip,sp与dip等的转换工具类 功能 通常在代码中设置组件或文字大小只能用px,通过这个工具类我们可以把dip(dp)或sp为单位的值转换为以px为单位的值而保证大小不变.方 ...

  2. Android中对话框的工具类

    Android中对话框的工具类,里面总结了比较好用的方法,直接调用即可 public class DialogUtils {private DialogUtils() {}private static ...

  3. android 字体像素转换工具类_android px,dp,sp大小转换工具

    package com.voole.playerlib.util; import android.content.Context; /** * Android大小单位转换工具类 * * float s ...

  4. Android沉浸式状态栏工具类,一句代码轻松搞定

    Android沉浸式状态栏工具类,一句代码轻松搞定 博客原文及源码地址:http://jaeger.itscoder.com/android/2016/03/27/statusbar-util.htm ...

  5. Android大小单位转换工具类

    package com.utouu.im.util; /**  * Android大小单位转换工具类  *   *   */ public class DisplayUtil { /** * 将px值 ...

  6. android 开发工具类,Android中常用开发工具类—持续更新...

    一.自定义ActionBar public class ActionBarTool { public static void setActionBarLayout(Activity act,Conte ...

  7. android自定义线程池工具类,妈妈再也不用担心你不会使用线程池了(ThreadUtils)...

    为什么要用线程池 使用线程池管理线程有如下优点:降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗. 提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行. 提高线程的可 ...

  8. android 快速开发常用工具类,实例详解Android快速开发工具类总结

    一.日志工具类 Log.java public class L { private L() { /* 不可被实例化 */ throw new UnsupportedOperationException ...

  9. Android中怎样在工具类中获取Context对象

    场景 Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context对象, 如果在编写 ...

最新文章

  1. 从封装函数到实现简易版自用jQuery (一)
  2. gulp html页面路径,配置gulp前端开发环境
  3. 怎么用MYSQL分析财务数据_如何使用Mysql正确的处理财务数据
  4. PHP也能实现区块链?基础结构篇
  5. C语言有序数组转为平衡的二叉树(附完整源码)
  6. matlab求傅里叶级数展开式_连续时间的傅里叶级数
  7. c#养老院老人信息管理系统源码 论文_[源码和文档分享]基于JSP和MYSQL实现的学生信息管理系统...
  8. jquery easyUI第一篇【介绍、入门、使用常用的组件】
  9. pycaret 2 1新增功能
  10. linux vi编辑(20160628)
  11. 局域网内连接MySQL数据库
  12. 在职读研拓宽视野,社科院与杜兰大学合办金融管理硕士项目为你提供能量
  13. 计算机音译英语单词,汉语谐音英文单词
  14. android刷礼物动画demo,GiftSurfaceView 直播间送礼物动画
  15. Codeforces Daily (Round 370-410)
  16. html中实现图片的无限滚动,CSS3 背景图片无限滚动之波浪效果的实现
  17. mysql 查看slave状态_解读show slave status 命令判断MySQL复制同步状态
  18. 第十节:Keras深度学习框架实战之波斯顿房价回归预测
  19. 哥廷根大学提出CLIPSeg,能同时作三个分割任务的模型
  20. 苹果ttc转ttf_字体 – 将TTC字体转换或提取为TTF – 如何?

热门文章

  1. 一场由金山词霸引起的车祸 Process finished with exit code -1073741819 (0xC0000005)
  2. debian10 apache2使用ssl
  3. 难忘的一天——装操作系统(二)
  4. 【转载】写博意味着什么?
  5. RuntimeError: Expected object of device type cuda but got device type cpu for argument pytorch数据位置
  6. 机器学习数据不平衡不均衡处理之SMOTE算法实现
  7. python读取xml文件报错ValueError: multi-byte encodings are not supported
  8. 基于PyTorch的Seq2Seq翻译模型详细注释介绍(一)
  9. Bad credentials异常
  10. 英特尔Intel® Arria® 10 FPGA加速器设计