webview 에서 가로 스크롤 차단하기 (막기)

프로그래밍/ANDROID|2018. 7. 11. 14:41
반응형

import android.view.MotionEvent;



webView.setHorizontalScrollBarEnabled(false);

webView.setVerticalScrollBarEnabled(false);


webView.setOnTouchListener(new View.OnTouchListener() {

    float m_downX;

    float m_downY;

    public boolean onTouch(View v, MotionEvent event) {


        if (event.getPointerCount() > 1) {

            //Multi touch detected

            return true;

        }


        switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN: {

                // save the x

                m_downX = event.getX();

                m_downY = event.getY();

                break;

            }

            case MotionEvent.ACTION_MOVE:

            case MotionEvent.ACTION_CANCEL:

            case MotionEvent.ACTION_UP: {

                // set x so that it doesn't move

                event.setLocation(m_downX, event.getY());

                event.setLocation(event.getX(), m_downY);

                break;

            }


        }

        return false;

    }

});



* 소스에서 둘 중 하나만 사용해야 하고 사용하지 않는 라인은 지워야 합니다.

   - 빨간색만 사용하면 '가로스크롤 차단. 세로 스크롤만 허용'

   - 파란색만 사용하면 '가로 스크롤만 허용. 세로 스크롤 차단'




[출처] https://stackoverflow.com/questions/11064014/how-to-disable-horizontal-scrolling-in-android-webview

반응형

댓글()