아래의 레이아웃은 WebView 를 바닥에 깔고.
LinearLayout 으로 화면 하단에 버튼을 왼쪽끝에 하나 오른쪽 끝에 두개를 배열 시킨 것입니다.
하지만 Button1, Button2 를 visible 로 두고, Button3 을 invisible 로 두면
Button1, Button2 를 invisible 로 변경하고 Button3 를 visible 로 바꾸면
Button3 이 오른쪽 끝에 나타나지 않고 있습니다.
invisible 과 관계없이
android:layout_alignParentRight="true" 는 한번만 써야 하는건가요?
<FrameLayout android:id="@+id/FrameLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<WebView android:id="@+id/WebView01" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent"></WebView>
<LinearLayout android:id="@+id/LinearLayout02" android:layout_gravity="bottom" android:layout_width="wrap_content" android:layout_height="wrap_content">
<RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:text="Button1" android:id="@+id/btnCart" android:layout_alignParentLeft="true" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</RelativeLayout>
<RelativeLayout android:id="@+id/RelativeLayout04" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:text="Button2" android:id="@+id/btnWish" android:layout_alignParentRight="true" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</RelativeLayout>
<RelativeLayout android:id="@+id/RelativeLayout03" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:text="Button3" android:id="@+id/btnOrder" android:layout_alignParentRight="true" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</RelativeLayout>
</LinearLayout>
</FrameLayout>
button1은 하단 왼쪽으로 언제나 고정 시키고(visible과 관계없이..)
button2, button3를 우측하단 parentright을 이용해 같은자리에 배치 해서 동시에 button2와 button3가 특정 이벤트에 교대로 올라오게 하고싶으신건가요?
만약 질문의 요지가 맞다면 마지막 'android:layout_alignParentRight="true" 는 한번만 써야 하는건가요?' 의 답은 아니오입니다.
1번과 3번을 보고싶으시면 1번 3번의 visibility의 값을 visible하시고 2번의 값에는 invisible 대신 gone을 해주셔야합니다.
간단히 말해 invisible => 화면에서 안보이지만 공간은 차지(같은 계층에 동일한 위젯이 있어도 선언순서에따라 위쪽에 위치..)
gone ==>화면에서 완전히 사라짐(같은 계층에 동일한 위젯이있다면 맨 아랫단계로..)
api를 보시거나 visibility 속성 등으로 검색하시면 관련내용을 쉽게 찾으실수 있을것같네요..
그리고 이건 다른 이야기인데 중첩레이아웃을 쓰시는게 linear bottom 속성때문에 그러신건가요 ? 하신방법이 직관적이긴한데 더 효율적인 방법이 없을까 저도 궁금하네요..



