2011-12-21 25 views
22

Decidí usar un ViewPager en mi aplicación y todo funciona bien. Sé que quiero usar un PagerTitleStrip en mi ViewPager, pero no he podido encontrar ninguna información sobre cómo hacerlo ... La única página (sic !!) que encontré en esta clase es http://developer.android.com/reference/android/support/v4/view/PagerTitleStrip.html Así que parece que sólo hay que añadir el PagerTitleStrip dentro de mi diseño ViewPager, pero no veo nada nuevo en mi actividad ...¿Alguien sabe cómo utilizar PagerTitleStrip en Android

<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> 

¿alguien sabe cómo usarlo?

Editado: Lo sentimos funciona cuando se implementa el método getPageTitle en el ViewPagerAdapter ... pero no quiero cualquier texto que se muestra, sólo un pequeño cursor para mostrar la posición de la vista actual en comparación con las anteriores y próximos ...

Respuesta

44

No estoy seguro de lo que causa error en su caso, pero esta es la forma en que lo uso, en su diseño se debe insertar código siguiente en su diseño:

<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> 

a continuación, debe añadir el siguiente código en su PageAdapter:

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

Eso es bonito.

+0

Funciona bastante bien ... no es el mejor en términos de personalización, pero que hace su trabajo. ¡Esta debería ser la respuesta aceptada! –

2

Tuve este problema también donde el PagerTitleStrip no estaba visible. Las respuestas anteriores no ayudaron. El problema fue que seguí el ejemplo en 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); 

El código anterior muestra el buscapersonas pero no el PagerTitleStrip.

he cambiado el código para

protected void onCreate(Bundle savedInstanceData) { 
    super.onCreate(savedInstanceData); 
    setTitle(R.string.my_title); 

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

res/layout/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> 

También pude ser compatible con el API 8 mediante la eliminación de todo el código en el ViewPager (página javadoc) ejemplo para manipular ActionBar y ActionBar.Tab.

-1

PagerTitleStrip es una señal no interactiva de las páginas actual, siguiente y anterior de un ViewPager. Realmente está diseñado para ser utilizado como un niño, vista de un widget ViewPager

Paso 1. Crear activity_main.xml diseño

<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> 

Paso 2. Crear actividad ViewPager contiene este (MainActvity.java)

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); 
} 
} 

Demostración: http://photo-wonder.blogspot.com/2016/09/pagertitlestrip-on-viewpager-android.html

Cuestiones relacionadas