안드로이드 With Java #7 ScrollView
SrollView의 개념
- 지정한 뷰의 영역보다 내용물이 더 많은 경우에 활용 가능하다.
- 가로 세로에 모두 적용 가능하다.
- **오직 하나의 자식 뷰만 가질 수 있다.
- 자식이 여러개일 경우 어떤 자식을 스크롤해야 할지 골라야 하는데 스크롤 뷰는 그것을 판별할 수 없다.
- 복수의 자식 뷰를 넣어두면 그 코드를 실행할 때 Runtime Error를 발생시킨다.
- 복수의 자식 뷰를 넣고싶다면, 단일
LinearLayout
뷰 컴포넌트를 하나추가한 뒤에 그 안에 여러 뷰들을 위치시키는 식으로 해야 한다.
- fillViewport 속성을 주면 하위 View의 크기만큼 View의 크기가 늘어나게 된다.
- scrollbars 속성은
Vertical
스크롤이 필요한지 Horizontal
스크롤이 필요한지 지정할 수 있다.
- 자식 뷰를 단 하나만 두어야 한다. (XML 상에서는 어떠한 오류도 보여지지 않지만 런타임에 오류가 검출된다.)
- 아무런 자식이 없을 때에는 fillViewport 속성을 주지 않으면 화면을 차지하지 않는다.
ScrollView
내부에 LinearLayout
을 위치시키고 그 안에 총 4개의 TextView
를 세로로 배치하였다. 3개까지는 정상적으로 보이지만 맨 밑의 하나의 TextView
가 보이지 않는다.
ScrollView
에 scrollbars
속성을 vertical
로 주면 옆의 미리보기에 미세하게 스크롤 바가 보인다.