ScrollView와 HorizontalScrollView를 이용해서 ImageView(화면크기를 넘어서는)를 스크롤 하려고 한다.
기본적으로 제공되는 아래와 같은 형태의 Layout으로는 가로스크롤 따로, 세로스크롤 따로 밖에 되지 않는다.
<ScrollView
..
>
<HorizontalScrollView
...
>
<ImageView
...
/>
</HorizontalScrollView>
</ScrollView> |
위와 같이 되어있는 레이아웃의 경우,
각 뷰에 대한 이벤트가 한번에 하나씩만 일어나기 때문에,
이미지뷰는 대각선으로 스크롤 되지 않는다.
이를 해결하기 위해 OnTouchListener로 이벤트를 직접 조작했다.
(horizontalscrollview, scrollview 둘중 하나에만 이벤트가 일어나도 가로챈다.)
이 방법은
멤버변수 선언 / 메소드 구현 / 터치리스너 override / 터치리스너 등록
4단계로 이루어진다.
1. 멤버변수 선언
2. 좌표처리 메소드 구현
3. OnTouchListener
4. touchListener 등록
화면 디스플레이 크기보다 큰 이미지를 넣고 해보면 확인 할 수 있다.
실제로 가로스크롤과 세로스크롤이 모두 한꺼번에 사용되는 걸 볼 수 있다.
'Android' 카테고리의 다른 글
[Android] JSON parsing Error - "JSONException e" (4) | 2010.12.03 |
---|---|
[Android] 간단한 RSS Parsing (2) | 2010.11.24 |
Android 짤막한... Study? (2) | 2010.11.22 |
[Android] Cursor 메소드 (0) | 2010.11.16 |
[Android] 전화번호로 주소록 검색하기 어플 (0) | 2010.11.16 |