可以从其他视图(不同于我的seekBar)启动seekBar OnSeekBarChangeListener吗?

Ung*_*viu 2 android

我的布局上有一个SeekBar(seekBar1),高度很小(3dp).由于它的高度很小,很难选择该视图,我想实现另一种方法来更新我的搜索视图的进度.为了做到这一点,我想在这样的事情:我必须android:background = "#00000000"在我的小seekBar1下放置一个更大的和不可见的()seekBar(seekBar2),我设置onSeekBarChangeListener为seekBar2,每当我触摸seekBar2并被onSeekBarChange()调用我将更新seekBar1的进展.

我想问一下是否有可能以更好的方式做到这一点?

这是我的代码:

seekBarSecond.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

   @Override
   public void onStopTrackingTouch(SeekBar seekBar) {    try {
    musicService.seekTo(seekBar.getProgress());
                                seekBar.setProgress(seekBarSecond.getProgress());

   } catch (RemoteException e) {
    e.printStackTrace();
   }

   }

   @Override
   public void onStartTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub

   }

   @Override
   public void onProgressChanged(SeekBar seekBar, int progress,
     boolean fromUser) {


   }
  });

  seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){   
   public void onStopTrackingTouch(SeekBar seekBar) {

    try {
     musicService.seekTo(seekBar.getProgress());
    } catch (RemoteException e) {
     e.printStackTrace();
    }
   }

   public void onStartTrackingTouch(SeekBar seekBar){

   }

   public void onProgressChanged(SeekBar seekBar, int progress,
     boolean fromUser){

   }
  });
Run Code Online (Sandbox Code Playgroud)

谢谢!

Gre*_*ory 5

我有完全相同的问题,并首先尝试了你的解决方案...它的工作原理,但你确实可以做得更好:只需指定填充.使用填充(您可能只需要顶部和底部填充),触摸区域实际上是窗口小部件的大小,包括填充.因此,添加16个像素的顶部和底部填充将为SeekBar的触摸边界添加32个像素.

希望有所帮助!