提高SeekBar的触控优先级

Beo*_*son 1 android seekbar touch-event

我有一个SeekBar内部HorizontalScrollView,我发现很难抓住手柄并移动它.如果我没有完全触摸手柄,HorizontalScrollView则会接收并消耗触摸事件.有没有办法增加优先级,SeekBar所以它将有触摸事件的正常"范围"或这只是一个坏主意/设计,我应该避免它?

Fra*_*EUX 5

这是另一种解决此问题的方法,而不扩展Frame布局.
想法是在触摸SeekBar时禁用Horizo​​ntalScrollView的触摸事件.
因此,例如,在初始化视图时,您可以定义如下内容:

protected void onCreate(final Bundle savedInstanceState)
{

    [...]

    final HorizontalScrollView scrollView = (HorizontalScrollView) findViewById(R.id.vo_cw_hsv);
    final SeekBar opacitySeekBar = (SeekBar) findViewById(R.id.vo_cw_seekbar);
    opacitySeekBar.setOnTouchListener(new OnTouchListener()
    {
      @Override
      public boolean onTouch(final View view, final MotionEvent event)
      {
        if (event.getAction() == MotionEvent.ACTION_DOWN || event.getAction() == MotionEvent.ACTION_MOVE)

          scrollView.requestDisallowInterceptTouchEvent(true);

        return false;
      }
    });

    [...]

}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,您可以阅读ViewParent类的文档:http://developer.android.com/reference/android/view/ViewParent.html#requestDisallowInterceptTouchEvent( boolean )