지원 라이브러리 (필요하지 않은 경우) 를 사용하지 않고 따라서 4.x API 만 사용하는 4.0 및 4.1 태블릿 용 앱을 작성 중 입니다.
따라서 내 타겟 플랫폼은> = 4.0 및 <= 4.1로 매우 잘 정의됩니다.
앱에는 다중 창 레이아웃 (조각 2 개, 왼쪽에 작은 조각 1 개, 오른쪽에 콘텐츠 조각 1 개)과 탭이있는 작업 표시 줄이 있습니다.
이와 비슷합니다.
작업 표시 줄의 탭을 클릭하면 '외부'조각이 변경되고 내부 조각은 두 개의 중첩 조각 (1. 작은 왼쪽 목록 조각, 2. 넓은 콘텐츠 조각)이있는 조각입니다.
이제 조각, 특히 중첩 조각을 대체하는 가장 좋은 방법이 무엇인지 궁금합니다. ViewPager는 지원 라이브러리의 일부이며이 클래스에 대한 기본 4.x 대안은 없습니다. 내 의미에서 '사용되지 않는'것으로 보입니다. -http : //developer.android.com/reference/android/support/v4/view/ViewPager.html
그런 다음 Android 4.2에 대한 릴리스 노트를 읽었습니다. ChildFragmentManager
, 이는 적합 할 것입니다.하지만 4.0과 4.1을 대상으로하고 있으므로 이것도 사용할 수 없습니다.
ChildFragmentManager
4.2에서만 사용할 수 있습니다.
- http://developer.android.com/about/versions/android-4.2.html#NestedFragments
- http://developer.android.com/reference/android/app/Fragment.html#getChildFragmentManager ()
안타깝게도 전체 Android 개발자 가이드에서도 지원 라이브러리없이 프래그먼트 사용에 대한 모범 사례를 보여주는 좋은 예는 거의 없습니다. 특히 중첩 된 조각과는 관련이 없습니다.
그래서 궁금합니다. 지원 라이브러리와 함께 제공되는 모든 것을 사용하지 않고 중첩 된 조각으로 4.1 앱을 작성할 수 없습니까? (Fragment 대신 FragmentActivity를 사용해야합니까?) 아니면 모범 사례는 무엇입니까?
현재 개발 중에있는 문제는 정확히 다음과 같습니다.
Android 지원 라이브러리는 이제 중첩 조각도 지원하므로 Android 1.6 이상에서 중첩 조각 디자인을 구현할 수 있습니다.
참고 : 레이아웃에
<fragment>
. 중첩 된 조각은 조각에 동적으로 추가 될 때만 지원됩니다.
XML에 중첩 된 조각을 정의했기 때문에 분명히 다음과 같은 오류가 발생합니다.
Caused by: java.lang.IllegalArgumentException: Binary XML file line #15: Duplicate id 0x7f090009, tag frgCustomerList, or parent id 0x7f090008 with another fragment for de.xyz.is.android.fragment.CustomerListFragment_
지금은 스스로 결론을 내립니다. 4.1에서도 2.x 플랫폼을 대상으로하고 싶지 않을 때 스크린 샷에 표시된 중첩 조각은 지원 라이브러리 없이는 불가능합니다.
(이것은 실제로 질문 이라기보다 위키 항목에 가깝지만 다른 누군가가 전에 관리했을 수도 있습니다).
최신 정보:
유용한 답변 : Fragment Inside Fragment
ActionBar
(삼성에서 내장) 의 사용자 정의 구현에 직면 할 수 있음을 명심하십시오 . ActionBarSherlock을 자세히 살펴보면 공간이 있으면 ActionBar에 탭이 있습니다.