출력: http://catnest.tistory.com/m/post/36
많은 양의 글이 담긴 TextView를 스크롤하는건 흔히 있는 일이다.
이때 가장 잘알려지고 많이 쓰이는 해결책은 Layout xml파일에서 ScrollView로
TextView를 감싸는 것이다. 보편적으로 젤 쉬운 방법인거 같다.
허나 유동적으로 Scroll 를 해야하는경우 그러니까 TextView가 유동적으로 생성되는경우에는
XML 파일에 TextView와 ScrollView를 명시하지 못한다. 이럴땐 어떻게 하면 될까?
또는 ScrollView를쓰지 않고 좀더 깔끔하게 TextView를 스크롤 할순 없을까?
위 원본문서에서 소개된 방법은 xml파일에 ScrollView를 쓰지 않고 TextView에 스크롤을 만드는
방법이지만 나는 이것을 코드상에서 유동적으로 만들어지는 TextView에 스크롤 기능을 넣는 것으로
활용했다.
TextView 의 메소드인 setMaxLine() 메소드로 적절한 최대 라인수를 정하고 (기본값이 100이라고 한다)
setVerticalScrollBarEnabled(true) or setHorizontalScrollBarEnabled(true)을 이용해서
어느 방향으로 스크롤을 할건지 설정한다. 그리고 setMovementMethod() 메소드를 호출한다.
setMovementMethod()메소드의 인자로 new ScrollingMovementMethod() 를 넘겨주면된다.
위의 방식으로 xml 에 명시하지 않은 TextView에 스크롤기능을 넣는것에 성공했다.
하지만 스크롤 바는 보이지 않고 그냥 스크롤만 된다.
나는 버튼을 눌러야만 지도위에 TextView가 생기도록 하는 프로그램이 었는데
아래와 같이 써서 제대로 동작했다.
mCourseInfoView.setMaxLines(200); |
'IT_Programming > Android_Java' 카테고리의 다른 글
안드로이드 어플리케이션이 회전될 때 주의해야할 점 (0) | 2015.02.10 |
---|---|
Scheduling Repeating Alarms (0) | 2015.01.20 |
[펌] GCM Architecture (0) | 2015.01.13 |
[펌] Asynchronous Background Execution and Data Loading with Loaders (Framework) in Android (0) | 2015.01.10 |
[펌] Using AsyncQueryHandler to Access Content Providers Asynchronously in Android (0) | 2015.01.08 |