안드로이드 개발 질문/답변
(글 수 45,052)
xml로 textview를 만들었는데
이게 꽤 장문입니다. 그런데 쓰고나서 보니 정렬이 제대로 되지않고
ex)
<TextView
..........................
......................
..................
android:text="남산 위에 저 소나무 철갑을 두른듯 하느님께 보우하사 우리나라만세 무궁화 삼천리 화려강산 대한사람 대한민국 길이 보전하세"
/>
라는 문장이 있다고 치고, 실행시켜보면 화면에 단어 단위로 끊어져서 나와서 보기가 흉합니다.
ex)<안드로이드화면>
|남산 위에 저 소나무 철갑을 두른듯 하느님께 |
|보우하사 우리나라만세 무궁화 삼천리 |
|화려강산 대한사람 대한민국 길이 보전하세 |
이렇게 뒤쪽이 뻥뚤려서나옵니다
그래서 양쪽정렬을 찾아봤더니 android:gravity="fill_horizontal"을 써라더군요 하지만 한글에는 적용이 되지 않네요
ex)<안드로이드화면>
|남산 위에 저 소나무 철갑을 두른듯 하느님|
|께 보우하사 우리나라만세 무궁화 삼천리 |
|화려강산 대한사람 대한민국 길이 보전하 |
|세
이렇게 양쪽정렬을 하려면 어떻게하는방법이 좋을까요?
2010.12.16 14:02:52
흠.. 그렇군요 장문의 글을 표시할때 이런 문제가생기니..
그냥 포토샵으로 imageview로 해서 적당~히 넣는방법도 괜찮을거 같지만 좀 기기에 따라 유연성이 좋지 않을꺼 같구.
힘드네요 ^^;;;
그냥 포토샵으로 imageview로 해서 적당~히 넣는방법도 괜찮을거 같지만 좀 기기에 따라 유연성이 좋지 않을꺼 같구.
힘드네요 ^^;;;
2010.12.16 14:21:01
가독성을 위한 word-break 기능입니다. 컴포넌트 고유기능으로 띄어쓰기 구분으로 단어가 짤리지않게 개행시켜 버리는것이져. TextView 만으로는 힘듭니다. 다만 노가다성처리로 한다면, measureText를 이용해서 한라인에 표시가능한 전체길이사이즈와 문자열 사이즈를 비교하여, 각 행별로 텍스트뷰를 하는방법이 있겠네요.
TextView는 여러개 만들어 Visiable속성으로 그때 그때 보여주면 될듯합니다. 단 이때, 길이체크를 잘하셔야만 elapsis(말줄임표...) 표시가 안나오게 할수 있을것 같네요.
다른방법은 위와 비슷하게 하여, drawText 하는 방법도 있습니다. 오히려 이게 더 깔끔할수도 있겠습니다.




안드로이드가 아닌 피쳐폰 개발할 때 경험으로는 문자열의 실제 display width를 계산해서 디바이스 width를 넘어갈 때
버퍼에 new line을 하는 방법으로 했던 기억이 있네요.
안드로이드에서는 굳이 의미 없는 행동인거 같은데, 굳이 하시겠다면.. 문자열 길이를 연산하여 비교하는 구문을 작성하셔야 할 것 같습니다.
TextView widget만으로 해결책이 있는지 저도 궁금하군요