【问题标题】:How to set seekbar disable without dimming in android?如何在android中设置seekbar禁用而不变暗?
【发布时间】:2017-04-20 05:26:32
【问题描述】:

我遇到了一个问题,如何在不变暗的情况下禁用搜索栏,我已经尝试了这个问题中的所有方法,但也有同样的疑问 android disabled seekBar without dimming 让我发布到目前为止我尝试过的内容:

我已经设置了

private SeekBar seekBar;
seekBar=(SeekBar)itemView.findViewById(R.id.seek); 
seekBar.setEnabled(false);
seekBar.getProgressDrawable().setAlpha(255);

在xml中:

 <SeekBar
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/mode"
                    android:maxHeight="5dp"
                    android:id="@+id/seek"
                    />

这个代码仍然不能让我的搜索栏更亮任何人都可以帮助我提前谢谢!

【问题讨论】:

  • seekbarseekBar2 不同。你不应该使用相同的搜索栏吗?作为一种解决方法,您可以将 onTouchListener 设置为空,这将始终返回 true 到搜索栏。
  • 对不起@VladMatvienko 我已经改变了
  • 同样的事情 - seekbar 不是 seekBar。请显示您的实际代码。因为对我来说这个主题是你问题的原因 - 你使用不同的搜索栏。
  • 这就是我所做的,我需要禁用搜索栏而不会使它变暗
  • 您的代码无法编译。您使用 2 个不同的变量 - 一个是 seekbar,另一个是 seekBar。你只初始化seekBarseekBar=(SeekBar)itemView.findViewById(R.id.seek); ,但使用seekbar

标签: android android-layout material-design


【解决方案1】:

试试这个对我有用的。

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

【讨论】:

  • 还有一件事我需要让我的搜索栏可触摸,这将使我的搜索栏不可触摸
【解决方案2】:

据我所知,触摸事件将继续沿View 层次结构(到彼此后面的视图)直到最后一层,除非它在此过程中被return true 抑制。因此,如果我们在下面的代码中返回true,触摸事件将停止并且SeekBar 将不可搜索。如果您希望 View 再次工作,您可以在触摸事件中返回 false

boolean isSeekable; //true = enable, false =  disable

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

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关 如何 和/或 为什么 解决问题的附加 context 将改善答案的长度长期价值。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人!请edit您的答案添加解释,并说明适用的限制和假设。提及为什么这个答案比其他答案更合适也没有什么坏处。
  • 对不起,我不礼貌。我已经添加了一些解释
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-05
  • 1970-01-01
相关资源
最近更新 更多