我通过覆盖onDraw方法并将其翻转90度来制作垂直SeekBar。 现在我需要把它放在ScrollView中。
实际的布局结构是
<ScrollView>
<RelativeLayout>
...
<LinearLayout>
<com.mypackage.VerticalSeekBar/>
是否可以确保ScrollView无法获取我的搜索栏的触摸事件?
答案 0 :(得分:11)
试试这个:
ListView lv = (ListView)findViewById(R.id.myListView); // your listview inside scrollview
lv.setOnTouchListener(new ListView.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
int action = event.getAction();
switch (action)
{
case MotionEvent.ACTION_DOWN:
// Disallow ScrollView to intercept touch events.
v.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
// Allow ScrollView to intercept touch events.
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
// Handle ListView touch events.
v.onTouchEvent(event);
return true;
}
});
在上面的代码中,我在scrollview中使用了listview滚动,你可以像这样使用
答案 1 :(得分:0)
尝试此方法
<ScrollView
focusable="false"
focusableInTouchMode="false" >
并在
<LinearLayout or in VerticalSeekBar
focusable="true"
focusableInTouchMode="true" >
它将阻止ScrollView获得焦点,并通过VerticalSeekbar获得焦点。