如何禁用水平ScrollView中的滚动?

时间:2013-01-09 06:30:51

标签: android horizontalscrollview

我的项目中有一个Horizo​​ntalScrollView和一个Button。 我想要这个>>>当Button单击Horizo​​ntalScrollView时不滚动。真的用户可以修复视图。

我使用此代码但它无效。

    Button btn_s = (Button) findViewById(R.id.button999);

    final HorizontalScrollView   h_scroll = (HorizontalScrollView) findViewById(R.id.horizontalScrollView1);

    btn_s.setOnClickListener(new OnClickListener() {

        @Override
          public void onClick(View v) {


            h_scroll.setVisibility(0);


        }

          })

2 个答案:

答案 0 :(得分:3)

你可以使用,

h_scroll.setVisibility(View.INVISIBLE);
h_scroll.setVisibility(View.GONE);

此外,您可以使用函数

为滚动视图定义自己的行为
public boolean onInterceptTouchEvent(MotionEvent ev) { }

请看这里,Intercept Horizontal ScrollView

答案 1 :(得分:0)

我用这段代码解决了这个问题:

 Button btn_s = (Button) findViewById(R.id.button999);
 final HorizontalScrollView   h_scroll = (HorizontalScrollView)findViewById(R.id.horizontalScrollView1);
 btn_s.setOnClickListener(new OnClickListener() {

@Override
  public void onClick(View v) {

       if(!return_h_scroll){

        return_h_scroll  = true;

       }   
       else
            return_h_scroll  = false;

}

  });
  h_scroll.setOnTouchListener(new OnTouchListener() {

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

     return return_h_scroll;

 }
 });