2017-12-31 11 views
-1

Android 용 다양한 화면 크기를 지원하는 방법에 대한 자습서를 읽는 경우 FragmentTransaction 사용시 단편의 자리 표시 자로 FrameLayout을 사용하는 경우가 많습니다. 이와 같이 :FrameLayout을 FragmentTransaction의 조각 컨테이너로 사용해야하는 이유는 무엇입니까?

getSupportFragmentMananager().beginTransaction() 
.replace(R.id.frame_layout, fragment) 

그렇다면 왜 FrameLayout을 사용해야합니까? 프래그먼트 컨테이너로 FrameLayout을 사용할 때 장점이나 단점이 있습니까? (대신 조각 컨테이너로 RelativeLayout을 시도했지만 여전히 잘 작동하고 있습니다). 나는 초심자이므로 명확하고 철저한 대답을 얻을 수 있기를 바랍니다.

편집 : 제공 한 질문 링크 (가능한 중복)에서 답변을 읽었습니다. 그러나 명확한 예가 부족합니다. 정말 다른 레이아웃 유형 대신 FrameLayout을 사용해야하는 이유를 보여주는 간단한 예제가 필요합니다.

+0

나는 그것을 볼 수있다. Zeero0 – Dan

+0

고마워요 Zeroo0. 나는 그 질문에 대한 해답을 읽었지만 분명한 예가 부족하다. 누구든지 이해할 수있는 방식으로 설명 할 수 있습니까? – Dan

+0

왜냐하면 그 자식을 쌓아 놓은 프레임 레이아웃과 같은 성질을 가지고 있기 때문입니다. – Remario

답변

1

이전 답변을 보완하기 위해 조각 트랜잭션을 사용할 때 일반적으로 표시 할 레이아웃의 저장된 지점에 조각을 추가하려고합니다. 기본적으로 FrameLayout이 규범적인 환경 설정 인 이유에 대해이 하나의 뷰가 표시되는 것을보고 싶습니다. 이는 디자인 목적과 직접 연결되어 있습니다. 다른 모든 레이아웃은 주로 다중 하위 포함에 주로 사용됩니다. FrameLayout은 중력 할당 옆에 특별한 순서가 없기 때문에 단일 자식을보다 효율적으로 처리합니다.

+0

예제를 필요로하지 않습니다. 실제로 디자인을 선택해야하며, 항목을 배치 할 때 아키텍처 관점이 필요합니다. FrameLayout은 일반적으로 위치 및 방향에 대해 여러 개의 자식 레이아웃이 구성되는 선형 및 상대적 인 하나의 자식입니다. – Remario

+0

또한 프레임 레이아웃은 레이아웃을 가로 지르는 방향이나 위치를 기반으로하지 않기 때문에 다시 조작 할 수있는 위치를받습니다. – Remario

+0

OP의 예는'replace'를 사용하므로 말할 수 있습니다. 우리는 단지 1 개의 아이 조각만을 가지고 있습니다. – Enzokie

관련 문제