禁用客户端对搜索栏的更改

新手上路,请多包涵

我有一个 SeekBar,它会在我需要时更改进度,但我不希望用户能够手动更改它。

我试图将 SeekBar 设置为:

 <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="65dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="78dp"
        android:progress="10"
        android:max="100"
        android:clickable="false"
        android:thumb="@drawable/transparent"
        android:progressDrawable="@drawable/customprogressbar" />

但它不起作用。

我怎样才能做到这一点?


这或多或少是客户将如何看待它的一个例子。

我使用了自定义样式,因为将来我需要根据 SeekBar 所在的部分更改背景图像和进度。

谢谢大家!

提问者没有给出描述

原文由 Shudy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 230
2 个回答

您可以做的一件事是禁用搜索栏, seekbar.setEnabled(false)

这样做框架不会接受来自用户的任何 Touch 事件,您只能通过代码更改进度级别。

我希望这能帮到您…….

原文由 Arjun Vekariya 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以使用 android:enabled=“false” ,但它会显示 禁用效果[darken your seekbar]。

因此,如果您想在不响应拇指活动的情况下显示启用搜索栏,请实现返回 true 的触摸事件处理程序,如下所示。

 seekBar.setOnTouchListener(new OnTouchListener(){
  @Override
  public boolean onTouch(View v, MotionEvent event) {
    return true;
 }
});

原文由 Srikanth P 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题