如何将 Android SeekBar 设置为不可移动/冻结?

发布于 2024-10-01 01:25:34 字数 195 浏览 7 评论 0原文

在我的 XML 中,我已将 focusablefocusableInTouchModeclickablelongClickable 变量设置为 false,但我仍然可以单击并移动 SeekBar。我是否需要实际更改侦听器事件才能执行此操作?这似乎是非常不必要的。

In my XML, I've set the focusable, focusableInTouchMode, clickable, and longClickable variables to false, yet I can still click and move the SeekBar. Do I need to actually change the listener events to do this? That seems so unnecessary.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苍风燃霜 2024-10-08 01:25:34

您需要从您的活动或片段中执行此操作

//java
mySeekBar.setEnabled(false);
//kotlin
mySeekBar.enabled = false;

,或者如果您想通过 xml 执行此操作

android:enabled="false"

You need to do this from your activity or fragment by

//java
mySeekBar.setEnabled(false);
//kotlin
mySeekBar.enabled = false;

Or if you want to do it by xml

android:enabled="false"
南风起 2024-10-08 01:25:34

您可以创建一个子类,其父类是 SeekBar。在您的新类中,重写 onTouchEvent() 方法以始终返回 false。

此解决方案不应将搜索栏“灰显”,因为启用状态不会改变。

You could create a subclass whose parent is a SeekBar. In your new class, override the onTouchEvent() method to always return false.

This solution should not "grey out" the seek bar since the enabled state will not change.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文