안드로이드 개발 질문/답변
(글 수 45,052)
스크롤 뷰 아래에 있는 LinearLayout 의 크기를 조절하고 싶은데요.
Dev 가이드를 참고하니까 ScrollView아래의 레이아웃의 높이속성은 무의미한 것이라고 나와있네요.
그런데 저 크기를 강제로 조절할 수 있을까요?
LinearLayout ll = (LinearLayout)findViewById(R.id.write_LinearLayout);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
400); // 400 이라는 높이를 지정
ll.setLayoutParams(params);
이렇게 해봤는데, 안되네요.
역시 안되나요? scrollview는 무적인가.-_-;;;
2009.11.12 18:34:57
아 하위뷰로 있다는 뜻입니다.~ 제가 넘 대충 말했네요.
그러니까 뷰 계층구조에서
ScrollView
- LinearLayout
- TextEdit
- Button
뭐 저런 식으로, ScrollView가 최상위부모이고 그 안에 LinearLayout 이 속해 있다는 뜻이었어요~
말을 대충 해서 혼란을 일으켰네요. ㅎㅎ 죄송합니다.
2009.11.12 18:40:32
LinearLayout 의 크기를 조절하는게 아니라 TextEdit, Button 의 높이를 설정함으로써 LinearLayoyt 의 높이가 설정되게 하는것이 아닐까요?
ScrollView 의 크기는 안의 내용에 따라 지가 알아서 크기를 조절할테니까 그넘은 그냥 냅두시고요 ㅎㅎ;
2009.11.12 18:47:51
Layout 의 Height 은 fill_parent 나 wrap_content 로 세팅해 주실 수 있고요,
minHeight 라는 속성이 있습니다 이 속성을 사용하시면 최소 크기가 보장이 됩니다.
2009.11.12 19:01:43
답변 감사합니다~~ 지금 상황이 동적으로 크기를 변경해주어야 되서 ㅎㅎ;
fill_parent, wrapt_content가 ScrollView 때문에 말을 안듣네요; ㅎㅎ;
그 안에 있는 TextEdit에도 강제로(동적) 레이아웃 파라미터줘서
(LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
400); // 400 이라는 높이를 지정
ll.setLayoutParams(params);
해봤는데 TextEdit도 커지질 않아요;
-_-;
2009.11.12 19:20:00
강제로 하실려면 setMeasuredDimension(int measuredWidth, int measuredHeight) 로 한번 시도해보세요.
혹시 키보드가 올라올때 하단 아이템이 밀려 올라와서 그거때문에 그러시는건가요????