【问题标题】:Disable seekbar inside RecyclerView [duplicate]禁用 RecyclerView 中的搜索栏 [重复]
【发布时间】:2018-06-19 11:50:59
【问题描述】:

我需要播放 RecyclerView 里面的音频。要求是SeekBar 将在用户单击播放按钮后启用。所以我尝试了。

<SeekBar
                android:id="@+id/seek_Media_Player"
                android:layout_width="match_parent"
                android:layout_marginLeft="@dimen/_6sdp"
                android:clickable="false"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:layout_marginRight="@dimen/_6sdp"
                android:layout_height="wrap_content" />

但它不起作用。当我在ActivityFragment 内使用SeekBar 但不在RecyclerView 内时,android:clickable="false" 有效。我也尝试在运行时设置这些属性但没有奏效。

设置setEnabled(false) 使SeekBar 不可见。从过去的 6 个小时开始,我一直在努力解决这个问题。我发布商品图片只是为了展示。请告诉我如何禁用/启用点击SeekBar

【问题讨论】:

标签: android android-seekbar


【解决方案1】:

好的,我找到了解决方案。以前怀疑过,但我正在寻找其他方法来做到这一点。我认为问题出在我的代码中。但事实并非如此。以下是我使用的完整解决方案。

public class CustomSeekBar extends AppCompatSeekBar {
private boolean fuzzyEnable;

public void setFuzzyEnable(boolean fuzzyEnable) {
    this.fuzzyEnable = fuzzyEnable;
}
public CustomSeekBar(Context context) {
    super(context);
}

public CustomSeekBar(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public CustomSeekBar(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    return fuzzyEnable?super.onTouchEvent(event):true;
}

}

【讨论】:

    猜你喜欢
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    相关资源
    最近更新 更多