안드로이드 개발 질문/답변
(글 수 45,052)
레이아웃에 복합컨트롤 두개를 넣는것이 가능한지요?
두개중에 하나를 주석처리하면 에뮬에서 잘 보이는데
두개를 모두 넣으려고 하면 위에꺼 하나만 보이네요~ㅠ.ㅠ
그래서 질문 드립니다
아래처럼 사용가능한지요?
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <com.android.ex00.TitleView android:id="@+id/titleView" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <com.android.ex00.MenuView android:id="@+id/menuView" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
2010.06.30 10:06:20
ViewGroup(LinearLayout)에는 여러개의 View를 넣을 수 있습니다.
단, 그 크기나 위치가 겹칠 경우 특정 View가 원하는 대로 보이지 않을 수 있습니다.
위의 코드에서 ViewGroup의 크기는 fill_parent입니다.
그리고 그 ViewGroup에는 두개의 VIew(TitleView, MenuView)가 속해 있습니다.
첫번째 TitleView의 width, height는 fill_parent로 자신의 부모인 LinearLayout이 차지하는 전체 공간에 뿌려집니다.
두번째 MenuView 역시 width, height가 fill_parent로 지정되어 자신의 부모인 linearLayout의 전체 공간에 뿌려집니다.
즉, 코드 상 두개의 뷰가 자신이 뿌려질 영역이 서로 겹치고 코드 상, 후에 그려지는 MenuView 만이 화면에 보여지는 겁니다.
만약 화면에 두 개의 뷰를 동시에 보여주고 싶으면 그 크기(width, height)를 조정하시거나 weight 속성을 사용하시면 해결가능 합니다.
titleview 랑 menuview 에 둘다
android:layout_weight="1"
이렇게 줘보세요~