如何禁用滚动视图?

时间:2010-12-03 07:20:05

标签: android

我使用的是relativelayout,里面是一个scrollview,里面是一个线性布局和一个textview,它确保滚动textview,但我不想在特定条件之后滚动文本。那么,我能为此做些什么呢?

3 个答案:

答案 0 :(得分:11)

要使滚动条不可见,请使用此属性。

android:scrollbars="none"

编辑:

如果需要对可见性或启用状态进行运行时更改,为此我们可以使用scrolview.setEnabled(false)android:enabled=false

答案 1 :(得分:6)

没有直接停止滚动视图滚动的方法,但你可以用其他方式做到这样:

//global boolean variable
boolean enable = true;    

scrollview.setOnTouchListener(new OnTouchListener() 
{

   @Override
   public boolean onTouch(View v, MotionEvent event) 
   {

      return !enable;
   }
});

当您将启用变量设置为 true 时,它将开始滚动,当您将其设置为false时,它将停止滚动。

答案 2 :(得分:1)

如果我正确解释了您的问题,您可能希望扩展ScrollView并编写自己的onInterceptTouchEvent实现。然后,您可以使ScrollView有条件地忽略触摸事件,从而禁用滚动行为。有关详细信息,请参阅this question