Android

[안드로이드] 안드로이드스튜디오(Android Studio) 스크롤뷰(ScrollView) 화면 전체 스크롤하기( Full screen scrolling),화면 하단부만 스크롤하기, 화면 상단부만 스크롤하기 안드로이드 예제, 안드로이..

정보처리마법사 2016. 8. 8. 15:15
반응형

 

 

[안드로이드] 안드로이드스튜디오(Android Studio) 스크롤뷰(ScrollView) 화면 전체 스크롤하기( Full screen scrolling),화면 하단부만 스크롤하기, 화면 상단부만 스크롤하기  안드로이드 예제, 안드로이드 강좌

 

안녕하세요 정보처리마법사입니다.

 

이번 포스팅의 주제는 스크롤뷰(ScrollView) 화면전체 스크롤하기에 관한 내용입니다.

 

 

뷰 컨테이너(그리드뷰, 리스트뷰 등)는 자체적으로 스크롤기능이 포함되어있어서 스크롤을 신경쓰지 않아도 되지만, 여러뷰들이 모두 모여있는 것을 스크롤하고 싶을 때는 다른 방법을 찾아야 합니다. 이럴 때 사용할 수 있는 것이 스크롤뷰(ScrollView)입니다.

 

스크롤뷰 사용방법은 일단 레이아웃 파일에서 스크롤하고 싶은 뷰를 ScrollView로 감쌉니다. 그리고 나서 설정한 레이아웃을 onCreate() 메소드에서 지정하면 끝입니다.

 

예를들면 이런식의 레이아웃입니다.

 

<ScrollView>

<LinearLayout>

<TextView />

<TextView />

<TextView />

</LinearLayout>

</ScrollView>

 

일단 처음 안드로이드 스튜디오 빈액티비티로 프로젝트를 생성하면 리니어레이아웃이 아닌 릴레이티브레이아웃으로 되어있는데 위 이미지처럼 리니어레이아웃으로 바꿔줍니다. 릴레이티브레이아웃이 너무 좋은 분은 그냥 하셔도 상관은 없지만 설명하는 거랑 살짝 다르니까 응용력 좋으신분들은 그냥 하셔도 무방합니다.

 

 

리니어 레이아웃 안쪽으로 텍스트뷰를 세 개를 넣어줍니다. Plain, Large, Medium, Small 어느것이든 상관없습니다. 전 라지텍스트뷰로 하였습니다.

 

 

일단 기본으로 제공하는 라지텍스트뷰를 디자인모드로 드래그 해 넣으면 저런식으로 텍스트가 자동으로 생성이 됩니다. 텍스트뷰의 높이가 기본적으로 wrap_content로 되어있군요

 

 

 

 

TextView의 layout_height 를 200dp 로 변경시켜줍니다. 그리고 스크롤뷰가 정상작동하는지를 살펴보기 위해서 첫번째 텍스트뷰를 빨간색으로 지정해주고 텍스트를 RGB값 16진수 6자리중 어디에 값을 할당하였는지 보여주는 내용으로 변경해줍니다. 저건 굳이 안해도 됩니다. 그냥 테스트니까 보기 좋게 해주셔도 되고 안해주셔도 됩니다. 그리고는 디바이스로 애플리케이션을 실행해봅니다.

 

 

오른쪽 작은 글씨랑 포인터는 디바이스 개발자 디버깅모드 옵션으로 준 것이니 신경쓰지 않으셔도 됩니다. 저기 포인터의 행적으로 보시듯이 위쪽으로 드래그를 하여도 스크롤뷰가 당연히 작동을 하지 않습니다. 왜?? 스크롤뷰를 적용을 시키기 전이니까 당연히 되지 않는 게 정상입니다.

 

 

아까 처음 말씀드렸듯이 레이아웃을 <ScrollView></ScrollView> 로 감싸줍니다. 그리고 나서 애플리케이션을 실행해보면.

 

 

 

이런식으로 스크롤뷰가 정상작동하는 것을 보실 수 있습니다.

 

화면 전체를 스크롤하는 방법은 앞서 언급한대로 이런식의 레이아웃입니다.

 

<ScrollView>

<LinearLayout>

<TextView />

<TextView />

<TextView />

</LinearLayout>

</ScrollView>

 

그리고 화면 아래쪽을 스크롤하는 방법은 조금만 응용하면 됩니다. 원하는 부분만 <ScrollView></ScrollView> 로 감싸면 됩니다. 예를 들면 이런식입니다.

 

<LinearLayout>

<TextView />

<ScrollView>

<TextView />

<TextView />

</ScrollView>

</LinearLayout>

 

위와 같은 방법으로 하면 첫번째 텍스트뷰는 스크롤이 되지 않겠죠, 저기서 조금만 응용하면 화면 위쪽만 스크롤되게 하실 수 있으실 겁니다. 저 내용은 텍스트뷰에만 국한되는 내용이 아니라 에디트텍스트, 버튼등의 뷰에도 똑같이 적용하실 수 있습니다.

 

 

참고서적 : 200개의 단계별 예제로 배우는 안드로이드 4.0 [제이펍]

 

 

 

이상으로 포스팅을 마칩니다. 감사합니다.

 

 

 

 

잘 못 된 정보가 있으면 말씀해주세요.

공감버튼 클릭은 작성자에게 큰 힘이 됩니다.  행복한 하루 되세요.

 

“파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음"

반응형