最近在项目中要使用seekbar展示音频播放进度,本来进度是可以调节的,但后面产品要禁用滑动和点击,就需要禁掉SeekBar的滑动和点击事件,当然你也可以用ProgressBar来显示,下面说一下禁止Seekbar滑动和点击的两种方法:
-
用属性直接设置:
private void setSeekBarClickable(SeekBar mSeekBar, boolean clickable) { if (clickable) { //启用状态 mSeekBar.setClickable(true); mSeekBar.setEnabled(true); mSeekBar.setFocusable(true); } else { //禁用状态 mSeekBar.setClickable(false); mSeekBar.setEnabled(false); mSeekBar.setFocusable(false); } }
-
拦截触摸事件:
seekBar.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { //直接消费掉触摸事件 return true; } });