android中的滑动seekBar将在事件结束前被禁用,而不是在进度发生变化时点击seekBar

android中的滑动seekBar将在事件结束前被禁用,而不是在进度发生变化时点击seekBar,android,android-seekbar,Android,Android Seekbar,我正在我的应用程序中实现seekBar,我想让它基于滑动而不是基于点击。但是,一旦用户完成滑动,搜索杆必须等待事件完成,而不是更改进度,并且根据事件的响应,搜索杆中的进度将相应地更改为滑动值 The flow will be like:- slide the seekBar--on sliding finished wait for an event to be finished--once the event finished, make the corresponding progress

我正在我的应用程序中实现seekBar,我想让它基于滑动而不是基于点击。但是,一旦用户完成滑动,搜索杆必须等待事件完成,而不是更改进度,并且根据事件的响应,搜索杆中的进度将相应地更改为滑动值

The flow will be like:- slide the seekBar--on sliding finished wait for an event to be finished--once the event finished, make the corresponding progress change based on the sliding.


Below I am posting my code.

The custom seekBar class:

    public class Slider extends SeekBar {

        private Drawable mThumb;

        public Slider(Context context) {
            super(context);

        }

        public Slider(Context context, AttributeSet attrs) {
            super(context, attrs);

        }

        @Override
        public void setThumb(Drawable thumb) {
            super.setThumb(thumb);
            mThumb = thumb;
        }

        @Override
        public boolean onTouchEvent(MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {

                if (event.getX() >= mThumb.getBounds().left
                        && event.getX() <= mThumb.getBounds().right
                        && event.getY() <= mThumb.getBounds().bottom
                        && event.getY() >= mThumb.getBounds().top) {

                    super.onTouchEvent(event);
                } else {
                    return false;
                }
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
                return false;
            } else {
                super.onTouchEvent(event);
            }

            return true;
        }}

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Fragment where the seekBar is implemented:

     viewHolder.dimming.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

                                    int originalProgress;
                                    @Override
                                    public void onStopTrackingTouch(SeekBar seekBar) {
                                    }

                                    @Override
                                    public void onStartTrackingTouch(SeekBar seekBar) {
                                        originalProgress = seekBar.getProgress();
                                    }

                                    @Override
                                    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                                        if(viewHolder.getAdapterPosition()!=RecyclerView.NO_POSITION)
                                        {
                                            if(seekBar.isShown() && fromUser)
                                            {

                                                progress= (progress/10)*10;
                                                //ProgressUtil.showProgressDialog(progressDialog);
                                                Log.d("Seek", String.valueOf(progress));
                                                viewHolder.dimming.setEnabled(false);
                                                handleDCURequest.slc_dimming((Context)myContext,slcIDVal,progress, originalProgress,dcuIDVal,viewHolder.dimming);
                                                //adapter.getRef(viewHolder.getAdapterPosition()).child("Percentage").setValue(progress);

                                                //viewHolder.showProgress.setText(progress+"%");
                                            }
                                        }



                                    }
                                });



I tried my best,but failed. Please do help. Thanks in advance.
流程如下:-滑动seekBar--滑动完成时等待事件完成--一旦事件完成,根据滑动进行相应的进度更改。
下面是我的代码。
自定义seekBar类:
公共类滑块扩展SeekBar{
私人可提取mThumb;
公共滑块(上下文){
超级(上下文);
}
公共滑块(上下文、属性集属性){
超级(上下文,attrs);
}
@凌驾
公共空间设置拇指(可拉伸拇指){
super.setThumb(拇指);
mThumb=拇指;
}
@凌驾
公共布尔onTouchEvent(运动事件){
if(event.getAction()==MotionEvent.ACTION\u向下){
如果(event.getX()>=mThumb.getBounds().left

&&event.getX()请发布您迄今为止尝试过的内容。@nipun.birla:请查找上面编辑过的问题。请发布您迄今为止尝试过的内容。@nipun.birla:请查找上面编辑过的问题。