xml이 아닌 java파일에서 ScrollView와 HorizontalScrollView 를 사용하려고 합니다.

상하와 좌우 모두 스크롤이 필요한 상황이고 xml에서 구현이 쉽지않아 java코딩으로 진행중입니다.

스크롤은 상하좌우 키로 하지 않고 화면의 터치와 드래그로 동작하도록 하려합니다.

아래는 우선 Vertical Scroll 을 하기 위해서 VerticalScroll.java 파일입니다.

package javaroid.guido;

import android.content.Context;
import android.view.MotionEvent;
import android.widget.ScrollView;

public class VerticalScroll extends ScrollView {
 public VerticalScroll(Context context){
  super(context);  
 }
 
 @Override
 public boolean onInterceptTouchEvent(MotionEvent ev){
  return false;
 }
}

그리고 액티비티에서

DrawView drawView;
VerticalScroll vertical;
drawView = new DrawView(this);  
 vertical = new VerticalScroll(this);
  
 vertical.addView(drawView);
  this.addContentView(vertical, new ViewGroup.LayoutParams(480, 225));

이렇게 썼구요

MyView에서 onKey 를 오버라이드하였습니다.

@Override
 public boolean onKey(View v, int keyCode, KeyEvent event) {
        if(event.getAction() == KeyEvent.ACTION_DOWN) {
         Log.w("MyView", "Weee do something clever here...");
         return true;
  }
      return false; 
 }

정확히 모르겠지만 이렇게 하니 버티칼스크롤이 동작했습니다.;;

근데 문제는 HorizontalScrollView 인데

package javaroid.guido;

import android.content.Context;
import android.view.MotionEvent;
import android.widget.HorizontalScrollView;

public class HorizontalScroll extends HorizontalScrollView{
 public HorizontalScroll(Context context){
  super(context);
 }
 
 @Override
 public boolean onInterceptTouchEvent(MotionEvent ev){
  return false;
 }
}

이렇게 VerticalScroll 과 같은 방법으로 HorizontalScroll.java 파일을 만들었습니다.

그리고 두가지를 동시에 써야하는데

어떻게 써야 좋을지 모르겠습니다.
DrawView drawView;
VerticalScroll vertical;
HorizontalScroll horizontal;
drawView = new DrawView(this);  
  vertical = new VerticalScroll(this);
  horizontal = new HorizontalScroll(this);
  
  horizontal.addView(drawView);
  vertical.addView(horizontal); 
  this.addContentView(vertical, new ViewGroup.LayoutParams(480, 225));

현재 액티비티에 위와같이 구현해놨는데.. 이렇게 하니 가로 스크롤은 작동하는데 세로 스크롤이 작동하지 않습니다.

어떻게 해야 두가지를 동시에 사용할수 있을런지요?

쉽게 설명좀 해주시면 감사하겠습니다^^;