在 Seekbar 上注册 LongClick 侦听器

2024-04-03

在android中,我是否可以在搜索栏上注册长按监听器?

我已经这样做了:

mySeekBar.setLongClickable(true);
mySeekBar.setOnLongClickListener(new OnLongClickListener() {
   public boolean onLongClick (View v) {
    Log.d("TEST", "Get a long click event!!!!!!!!!!!!");
 }
});

但我根本看不到我的调试打印语句。关于如何实现它有什么想法吗?

谢谢。


虽然文档中没有提及,但我通过实验确定 SeekBar 不支持单击和长按侦听器。 ProgressBars 支持它们。

深入研究源代码可以看出原因:SeekBar.onTouchEvent()不打电话super.onTouchEvent()。它是在View.onTouchEvent() that performClick() and performLongClick()酌情被称为。所以处理长按的唯一方法SeekBar是手动检测它们。

我自己的想法是,有一个长按处理程序SeekBar实际上没有意义。如果用户拖动“拇指”的时间超过长按阈值/延迟,突然间您会长按一次,但可能并不意味着长按。每次移动拇指时,您都可以取消并重置延迟,需要在一个位置长按几秒钟。但完全静止的情况是很少见的。事实上,握住拇指几秒钟而不移动它是很困难的。因此,您可以通过拇指位置的最小变化来重置延迟。如果必须的话我会这么做,但我必须说这是一种非常奇怪的用户体验。在 Android 中,有很多地方用户期望长按具有重要意义,但是SeekBar不是其中之一。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Seekbar 上注册 LongClick 侦听器 的相关文章

随机推荐

  • java中的变量定义使用接口还是类型?

    ArrayList aList new ArrayList List aList new ArrayList 这两者有什么区别 哪个更好用 为什么 List 是一个接口 而 ArrayList 是该接口的实现 第二种更好 因为这意味着您可以
  • Firebird ADO.NET 4.10.0.0 数据提供程序是否可以与 Firebird 3.0 一起使用?

    我目前正在尝试将我的 ASP net 4 5 项目连接到最近发布的 Firebird 3 0 我使用的是 Visual Studio 2015 社区版 Firebird 3 64 位 并使用 NuGet 获取 ADO NET 4 10 0
  • 尝试将设备注册到 Bluemix 上的 IBM Mobile First Push 服务时,iOS 应用程序崩溃

    我有一个在 iPad mini 4 iOS 9 0 2 上运行的 iOS 9 应用程序 尝试将设备注册到 Bluemix 上的 IMFPush 服务实例时 它崩溃了 以下是在我的应用程序委托中执行注册的代码 func application
  • 如何在 BigQuery 中选择包含所有 NULL 值的数据列

    如何在 BigQuery 中选择包含所有 NULL 值的数据列 A B C NULL 1 NULL NULL NULL NULL NULL 2 NULL NULL 3 NULL 我想检索 A 列和 C 列 请您帮忙 扩展我对米哈伊尔答案的评
  • RTSP服务器java实现问题:(

    我正在编写 RTSP 服务器并遇到一些问题 我使用 VLC 作为客户端 服务器从客户端 VLC 播放器 接收 OPTIONS DESCRIBE SETUP 和 PLAY 命令并回答该命令 通过 SETUP 命令客户端发送端口号 我正在使用该
  • HTML/CSS - 神秘的顶部填充不会消失

    我正在使用 CSS 制作列布局 并且进展顺利 令人惊讶的是 我的问题不是如何让专栏发挥作用 而是如何让专栏发挥作用 这就是功能 但我的专栏顶部却出现了一个令人毛骨悚然的神秘 填充 它正在压低内容 我在这里准备了一个例子 jsFiddle h
  • Callable 应该优先于 Runnable 吗?

    我已经明白了之间的区别Runnable and CallableJava 中的接口 从 Java 1 5 开始 添加了额外的功能Runnable接口并被调用Callable以保持向后兼容性 我的问题是现在我们有Callable接口 我们应该
  • GraphQL 请求错误 - 未知参数“slug”

    我正在尝试将我的 index js 页面链接到文章模板 以使用 slug 和显示来自中间件 Drupal 站点的数据createPages 我的 index js 页面和我的页面上的数据正确显示createPages将文件路径更改为后似乎没
  • OpenCL 在调用 clGetPlatformIDs 时崩溃

    我是 OpenCL 新手 在配备 Intel R HD Graphics 4000 运行 Windows 7 的 Core i5 计算机上工作 我安装了支持 OpenCL 的最新 Intel 驱动程序 GpuCapsViewer 确认我有
  • 何时在 Jersey 资源中使用 @Singleton

    我有一个访问数据库的泽西岛资源 基本上它在资源初始化时打开一个数据库连接 对资源的方法执行查询 我观察到 当我不使用 Singleton 时 数据库会根据每个请求打开 我们知道打开连接真的很昂贵 对吧 所以我的问题是 我应该指定资源是单例的
  • 为什么我的 React-Testing 库查询都不起作用?

    我正在使用 Jest Testing Library 编写 UI 单元测试 组件没有在 DOM 上渲染 罪魁祸首是组件 RequireScope 它单独包装了所有组件 换句话说 每个组件都会返回 return
  • 表格部分标题上方的白色分隔符

    我在表视图分隔符方面遇到了一个非常奇怪的问题 我已将分隔符颜色设置为深灰色 这在单元格下方效果很好 但由于某种原因 我的部分标题之前有一个白色分隔符 请参见 11 月上方的屏幕截图 当我将分隔符样式设置为无时 该线消失 表明它是分隔符 如何
  • WPF 中的 2D CAD 应用

    我正在尝试在 WPF NET 4 0 中编写一个类似 CAD 的应用程序 它需要能够显示大量 2D 点 线 它将用于通过鼠标悬停时的缩放 平移 旋转和点捕捉来显示整个城市的 CAD 平面图 现在我纯粹使用WPF 我从 CAD 文件中读取对象
  • 调整控制模板并仍然尊重操作系统的主题?

    在 WPF 中 如何修改标准控件的模板 使其稍后尊重操作系统的当前主题 如果我只是在混合中 编辑模板的副本 它只会给我当前运行主题的模板 它是否正确 因此 当我应用修改后的模板并在不同的主题上运行应用程序时 它看起来总是一样的 对于自定义控
  • 如何在 iPhone 上使用活动指示器视图?

    活动指示器视图在许多应用程序中都很有用 关于如何在 iPhone 上添加 激活和关闭活动指示器视图有什么想法吗 这里欢迎所有的方法 Create spinner UIActivityIndicatorView alloc initWithA
  • 如何在 Rails 中构建投票/调查类型应用程序

    我试图了解如何在 Rails 中创建民意调查 调查应用程序 现在我有以下模型 Poll id question string answer 1 string answer 2 string answer 3 string answer 4
  • 使用 openssl 而不是 mcrypt 在 PHP 中解密 AES-256-CFB

    下面的函数正确解密php5中的数据 function decrypt mcrypt key str str base64 decode str iv substr str 0 16 str substr str 16 return mcry
  • Socialauth-android 与 Facebook 授权成功,但验证码为空

    我正在使用socialauth android 让我的 Android 用户在 Facebook 上进行身份验证 我的问题如下 我可以成功显示 Facebook 登录页面 用户可以在其中输入凭据并授权我的应用程序 授权完成后 应调用 Soc
  • 为作为单独进程运行的 MAF 插件指定一个自定义名称

    我在单独的进程中使用 MAF 托管加载框架 激活我的插件 问题是它为每个进程提供了默认名称 AddInProcess32 作为单独进程运行的插件 我可以为 MAF 创建的流程指定一个自定义名称吗 如果是这样怎么办 PS 为什么我想给自定义名
  • 在 Seekbar 上注册 LongClick 侦听器

    在android中 我是否可以在搜索栏上注册长按监听器 我已经这样做了 mySeekBar setLongClickable true mySeekBar setOnLongClickListener new OnLongClickList