2011-12-21 5 views
22

내 응용 프로그램에 ViewPager을 사용하기로 결정했는데 모든 것이 잘 작동합니다. ViewPagerPagerTitleStrip을 사용하고 싶지만 그 방법에 대한 정보를 찾지 못했습니다. 이 수업에서 발견 한 유일한 페이지 (sic !!)는 http://developer.android.com/reference/android/support/v4/view/PagerTitleStrip.html 입니다. 그래서 ... 난 그냥 내 ViewPager 레이아웃 내에서 PagerTitleStrip를 추가해야합니다,하지만 난 내 활동에 새로운 아무것도 표시되지 않는 것 같다누군가가 안드로이드에서 PagerTitleStrip을 사용하는 방법을 알고 있습니까

<android.support.v4.view.ViewPager 
    android:id="@+id/viewPager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <android.support.v4.view.PagerTitleStrip 
     android:id="@+id/pagerTitleStrip" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" /> 
</android.support.v4.view.ViewPager> 

사람이 그것을 사용하는 방법을 알고 있나요?

편집은 다음 ViewPagerAdapter에서 getPageTitle 방법을 구현할 때 죄송합니다 그것을 작동 ...하지만 나는 어떤 텍스트가 이전 및 다음 사람에 비해 현재보기의 위치를 ​​보여주기 위해, 단지 작은 커서를 표시하지 않으 ...

답변

3

나는 이것이 당신이 찾고있는 것이라고 생각합니다. 호환성 라이브러리에서 롤백 된 것을 보았지만 지금은 찾지 못했습니다.

http://viewpagerindicator.com/

출처 : 나는 귀하의 경우 오류의 원인이 무엇인지 잘 모르겠어요하지만 내가 레이아웃에 당신이 당신의 레이아웃에 다음 코드를 삽입해야, 그것을 사용하는 방법입니다 https://github.com/JakeWharton/Android-ViewPagerIndicator

44

:

<android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" > 

     <android.support.v4.view.PagerTitleStrip 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="top" /> 
</android.support.v4.view.ViewPager> 

그런 다음 당신은 당신의 PageAdapter에 다음 코드를 추가해야합니다 :

 @Override 
     public CharSequence getPageTitle (int position) { 
      return "Your static title"; 
     } 

꽤 좋습니다.

+0

그것은 꽤 잘 작동 ... 그것은 정의의 관점에서가 아니라 최선의 방법이지만이 작업을 수행합니다. 이것은 허용 된 대답이어야합니다! –

2

PagerTitleStrip이 보이지 않는 곳에서도이 문제가 발생했습니다. 위의 답변은 도움이되지 않았습니다. 문제는 내가 http://developer.android.com/reference/android/support/v4/view/ViewPager.html의 예를 따라 갔다는 것이 었습니다.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    mViewPager = new ViewPager(this); 
    mViewPager.setId(R.id.pager); 
    setContentView(mViewPager); 

위의 코드는보기 호출기를 보여 주지만 PagerTitleStrip은 표시하지 않습니다.

나는

에 코드를 변경
protected void onCreate(Bundle savedInstanceData) { 
    super.onCreate(savedInstanceData); 
    setTitle(R.string.my_title); 

    setContentView(R.layout.my_pager); 
    viewPager = (ViewPager)findViewById(R.id.pager); 

고해상도/레이아웃/my_pager.xml :

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.view.ViewPager 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <android.support.v4.view.PagerTitleStrip 
     android:id="@+id/pager_title_strip" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" 
     android:background="#33b5e5" 
     android:textColor="#fff" 
     android:paddingTop="4dp" 
     android:paddingBottom="4dp" /> 

</android.support.v4.view.ViewPager> 

나는 또한 ViewPager에 모든 코드를 제거하여 API 8에 호환이 될 수 있었다 (javadoc 페이지) 예제를 사용하여 ActionBar 및 ActionBar.Tab을 조작 할 수 있습니다.

-1

PagerTitleStrip은 ViewPager의 현재, 다음 및 이전 페이지의 비대화 형 신호입니다. 정말 2. 활동 만들기

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:orientation="vertical" 
    tools:context="com.example.androidviewpagerapp.MainActivity" > 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:autoLink="web" 
     android:text="http://android-er.blogspot.com/" 
     android:textStyle="bold" /> 
    <android.support.v4.view.ViewPager 
     android:id="@+id/myviewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <android.support.v4.view.PagerTitleStrip 
      android:id="@+id/titlestrip" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 
    </android.support.v4.view.ViewPager> 
    </LinearLayout> 

단계는 ViewPager이 (MainActvity를 포함 레이아웃 activity_main.xml 만들기 ViewPager 위젯

1 단계의 하위보기로 사용할 수 있도록 설계되었습니다.자바)

public class MainActivity extends Activity { 
ViewPager viewPager; 
MyPagerAdapter myPagerAdapter; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    viewPager = (ViewPager)findViewById(R.id.myviewpager); 
    myPagerAdapter = new MyPagerAdapter(); 
    viewPager.setAdapter(myPagerAdapter); 
    PagerTitleStrip pagerTitleStrip = (PagerTitleStrip)findViewById(R.id.titlestrip); 
} 
} 

데모 : http://photo-wonder.blogspot.com/2016/09/pagertitlestrip-on-viewpager-android.html

관련 문제