2011-10-24 5 views
12

탭이 필요한 애플리케이션을 빌드 중이며, 더 이상 사용되지 않습니다. dev 가이드는 Fragments를 사용하여 대신 탭을 대체한다고 말합니다. 그러나, 내 응용 프로그램은 각 탭 내에 조각을 가져야합니다. 조각 안의 조각은 허용되지 않습니다. 누구든지이 문제를 해결할 수있는 가능성을 알고 있습니까?프래그먼트 탭 내의 단편

답변

3

탭에 대한 작업 표시 줄 지원은 탭의 내용이 단편이되도록 쉽게 디자인되었지만 꼭 필요한 것은 아닙니다. ViewFlipper을 사용하거나 setContentView() 번을 반복적으로 호출하거나 작업 표시 줄 탭을 선택하면 다른 내용을 변경할 수 있습니다.

네이티브 작업 표시 줄 (Android 1.x/2.x) 이전에는 기본 탭으로 고정하거나 Action Bar Sherlock과 같은 것을 사용하여 작업 표시 줄 및 탭을 가져옵니다.

+0

탭이 변경 될 때마다 ViewController를 호출하는 것이 setContentView를 호출하는 것보다 효율적입니까? 다른 방법인가 아니면 차이가 미미한가? –

+1

@TJThind :'setContentView()'에 레이아웃 ID를 제공하는 대신 레이아웃을 확장하여'setContentView()'에 제공하면'setContentView()'와'ViewFlipper'는 속도가 똑같고 메모리 - 슬기로운. 'setContentView()'를 리소스 ID와 함께 호출하면 느려질 것입니다. (항상 매번 부풀려 져야합니다. 게다가 이벤트 리스너를 매번 연결해야합니다.) 다음 힙을 줄입니다. (다음'setContentView()'호출은 제대로 완료되면 가비지 수집 될 수 있습니다. – CommonsWare

1

상단에 여러 개의 토글 버튼이있는 "탭"조각을 사용하여 탭을 가짜로 만듭니다. 그 아래에는 각 탭에 대해 별도의 조각이 포함 된 병합보기가 있습니다. 다른 버튼을 "끄기"로 전환하고 "탭"의 단편을 표시하고 다른 버튼을 숨김으로써 토글 버튼의 ​​도청에 응답합니다.

+0

병합보기가 무슨 뜻인지 설명해 주시겠습니까? – Lance

+0

http://developer.android.com/resources/articles/layout-tricks-merge.html – goto10

+0

몇 가지 예제 코드, 특히 xml 레이아웃 파일을 보여줄 수 있습니까? 나는 이것을 성취하는 데 어려움을 겪고있다. – Lance

0

약간 늦었지만 할 수 있습니다 :) 여기에 example 입니다. 단편 안의 조각 안쪽 탭은 안드로이드 네이티브 방식이 아니므로 조각 세부 정보를 표시하려면 새 fragmentActivity를 시작해야합니다. 당신은 할 수 있지만 안드로이드 방식이 아닙니다!