일단 꼼수로 해결은 했습니다만 혹시 좀 더 좋은 방법이 있을까 해서 질문에 올립니다.
Fragment에 layout에 ScrollView(이상 SV)를 넣고 background color를 지정해 줬습니다.
SV 안에는 LinearLayout을 사용해서 내용물을 넣었습니다.
문제는 이때 LinearLayout으로 구성한 내용물이 전체 height에 미치지 못한다는 겁니다. 그래서 SV의 배경색이 아닌 기본색인 하얀색으로 나옵니다. 아래 사진 우측 하단 빨간 동그라미 같이 나옵니다.
그 왼쪽에는 쭉 채워져 있습니다. 간단한 꼼수로 SV를 RelativeLayout(이상 RL)으로 한 번 감싸 안아서 SV의 background color를 RL의 background color 이동시켰습니다. 상단의 검은색 부분의 코드를 보시면 됩니다.
일단 해결해 보기 위해서 검색을 해보니 stackoverflow에서 RL을 넣지 말고 처음 SV가 parent로 있을 때
android:fillViewport="true" 를 주라고 해서 해봤습니다만 제 경우에는 해결할 수 없었습니다.
그래서 생각해 낸 것이 RL을 사용해서 SV를 감싼 것입니다.
하지만 보시는 바와 같이 "ScrollView" warning 표시가 있는 것을 확인하실 수 있습니다.
메시지는
"This ScrollView layout or its RelativeLayout parent is useless; transfer the background attribute to the
other view"
필요없다는 거죠~ 왜 불필요하게 넣냐고...
뭔가 SV를 RL로 감싸는 방법외에 해결할 방법이 없을까요? 일단은 해결했습니다만 depth가 한 단계 깊어지는 것이 영 마음에 들지 않습니다.
다른 방법으로 해결하신 분이 계시면 피드백 부탁드립니다. :-)
댓글
댓글 리스트-
작성자yeojoy 작성자 본인 여부 작성자 작성시간 13.10.17 하마로 가린 건... 아진 출시전 새로운 디자인이라... 그냥 한 번...
-
작성자슈퍼성근 작성시간 13.10.18 이상하네요.
저 SV가 배경을 덜 그린것이 아니라
SV 높이가 거기까지라는 것 같아요.
이럴때는 바로 DDMS에서 Dump View Hierachy For UI Automator
를 이용하시면 뷰 영역을 디버깅 할 수 있습니다.이미지 확대
-
답댓글 작성자yeojoy 작성자 본인 여부 작성자 작성시간 13.10.18 아... 그냥 넵! 확인해 보겠습니다 :-)