Beo*_*son 1 android seekbar touch-event
我有一个SeekBar内部HorizontalScrollView,我发现很难抓住手柄并移动它.如果我没有完全触摸手柄,HorizontalScrollView则会接收并消耗触摸事件.有没有办法增加优先级,SeekBar所以它将有触摸事件的正常"范围"或这只是一个坏主意/设计,我应该避免它?
这是另一种解决此问题的方法,而不扩展Frame布局.
想法是在触摸SeekBar时禁用HorizontalScrollView的触摸事件.
因此,例如,在初始化视图时,您可以定义如下内容:
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 )
| 归档时间: |
|
| 查看次数: |
2194 次 |
| 最近记录: |