2012-04-12 3 views
3

사람은 Ice Cream Sandwich 스타일 탭에 대한 자습서/예을 알고 있나요. API 레벨 14 또는 15 만 있으면됩니다.아이스크림 샌드위치 스타일 탭

내 프로젝트는 Ice Cream Sandwich의 내 Galaxy Nexus에서만 작동합니다. 그래서 이전 버전과의 호환성없이이 작업이 어떻게 수행되는지 알고 싶습니다.

감사합니다, 샘

+0

[이]는 (http://viewpagerindicator.com/) 당신이 해피 그것은 당신의 문제를 해결하기 위해 도서관의 –

+0

코딩 도움이 될 것입니다. Apache License, Version 2.0에 따라 개발 및 배포되었습니다. 원래 Patrik Åkerfeldt가 개발 한 위젯을 기반으로합니다. 제목 표시기와 비슷하지만 가능한 한 많은 제목을 스크롤하고 애니메이션 된 가로 탭에 표시합니다. –

+0

"역 호환성없이"이 작업을 수행하려는 이유는 간단 할 것이라고 생각했기 때문입니다.나는 이것이 가장 쉬운 옵션이고 무료로 이전 버전과의 호환성을 제공하기 때문에 실제로 이것을 사용했다. – Garcon

답변

2

글쎄, 당신이 그것을 사용하는 구형 장치를 원하지 않는 경우, 당신은 당신의 앱 매니페스트의 최소 API 버전을 지정할 수 있기 때문에 특히, 이전 버전과의 호환성을 피하기 위해 정말 이유가 아니다 . 말했다

ViewPager 구글이 그것을 수행하는 방식이며, 당신이 Fragments 그러나 단지를 사용하는 상관하지 않는 경우 그것은 그들이 이전 버전과 호환되는 반면, 안드로이드 4.

에 내장 된 Fragments을 활용 View에서 View까지 스 와이프하려면 FragmentPagerAdapter 대신 일반 PagerAdapter을 사용하거나 ViewFlow을 사용할 수 있습니다.

ViewFlow 페이지의 예는 v4를 지원하기위한 것이지만, 찾고있는 것과 더 가까운 API 13+의 경우 here (특히 this one)의 몇 가지 예가 있습니다.

+0

내 사고 방식은 코드가 훨씬 간단하고 코드가 적을 것이라고 생각합니다. 나는 그곳에서 틀릴 수도있다. – Garcon

+0

내가 알 수있는 한, 'ViewPager' 페이지의 코드 예제에서 호환성을 위해 명시 적으로 수행 된 것은'FragmentPagerSupport'에서 가져온 한 클래스이다. 다른 모든 것은 꽤 표준적인 상용구입니다 : 당신의'Activity'를 생성하고, 탭 바,'Adapter', 그리고 그 어댑터를 표시하기위한'Views' (또는'Fragments') 세트를 제공하십시오. –

+0

실제 예제는 액션 바 탭을 사용하기 때문에 더 복잡하지만, 사용자가 원하는지 여부는 알 수 없지만 멋진 ICS보기가 있습니다. –

1

API 14+ 기기에서 ActionBar with "tabs+swipe" navigation을 획득했다고 가정합니다. 방금 나 자신을 위해 데모를 만들었 기 때문에 모든 것이 허니컴 전 장치에 적용될 수 있습니다. whevever 수

  • 확장/수입 com.actionbarsherlock 클래스 :

    는 가장 쉬운 방법은, 기본적으로, 당신은 단지에가있다!

  • android.support.v4 (보통 android 대신) 패키지에서 가져올 수 있습니다! 당신이 그 작업을 수행 할 수 있습니다 전에

그러나, 당신은에 첫째가해야 할 것입니다 : 겉으로 호환성 라이브러리 별칭으로는 Android Support Library을 사용하는 방법을 알려

  • 합니다.
  • ActionBarSherlock을 사용하는 방법을 알고 있습니다. 예를 들어

(MainActivity.java) :

import com.actionbarsherlock.app.ActionBar.Tab; 
import com.actionbarsherlock.app.SherlockFragmentActivity; 
import com.actionbarsherlock.app.ActionBar; 
import com.actionbarsherlock.view.Menu; 

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.support.v4.app.FragmentTransaction; 
import android.support.v4.view.ViewPager; 

public class MainActivity extends SherlockFragmentActivity implements ActionBar.TabListener {/*...*/} 
+0

아래로 질문했습니다. 이것은 물어 본 것과 정반대입니다. 아마도 이전 버전과의 호환성을 무효화하는 이유는 학습을 피하거나 외부 라이브러리에 의존하기 때문입니다. – Henry

+0

내가 그 질문에 대답 할 때부터 기억하고 있듯이 그 질문은 그런 식으로 말하지 않았다. 질문의 의미를 지금 생각해 보면, 내 대답은 참으로 표결되어야합니다. 나 같은 새 녀석에게는 아주 불행한 말을 할 것입니다. 웃어요. – easoncxz

관련 문제