我在xml中添加了一个HorizontalScrollView,我想在按钮点击时禁用滚动,并在另一个按钮点击时再次启用。
点击按钮进行滚动停止工作,但我不知道如何再次启用滚动功能。
以下代码是禁用滚动的方式。
class OnTouch implements View.OnTouchListener
{
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
}
我添加了上面的课程,然后
final HorizontalScrollView scrollView = (HorizontalScrollView)findViewById (R.id.horizontalScrollView);
Button stop = (Button)findViewById(R.id.stop);
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
scrollView.setOnTouchListener(new OnTouch());
}
});
我在onCreate方法中添加了上面的代码。我想添加另一个按钮(可能"滚动")我希望该按钮再次启用滚动。
答案 0 :(得分:1)
这个怎么样(我没有测试它,所以可能有拼写错误);
class OnTouch implements View.OnTouchListener {
public boolean intercept = false;
@Override public boolean onTouch(View v, MotionEvent event) {
return intercept;
} }
final OnTouch listener = new OnTouch());
final HorizontalScrollView scrollView = (HorizontalScrollView)findViewById (R.id.horizontalScrollView);
scrollView.setOnTouchListener(listener);
Button stop = (Button)findViewById(R.id.stop);
stop.setOnClickListener(new View.OnClickListener() { listener.intercept=true});
Button start = (Button)findViewById(R.id.start);
start.setOnClickListener(new View.OnClickListener() { listener.intercept=false});
答案 1 :(得分:0)
1 - 与onClickListener
相关联的Button
功能:
a)删除scrollView.setOnTouchListener(new OnTouch())
,
b)切换boolean
(例如scrollEnabled
)以指示是否启用了滚动。
2 - 在您的ScrollView
课程中,覆盖onTouchEvent
功能并将其放入其中:
if(scrollEnabled){
return(false);
else {
return(true);
}