2011-12-21 13 views
22

içinde nasıl kullanılacağını biliyor mu? Uygulamamda bir ViewPager kullanmaya karar verdim ve her şey yolunda gidiyor. ViewPager benim PagerTitleStrip kullanmak istediğimi biliyorum, ancak nasıl yapılacağı hakkında herhangi bir bilgi bulmak için başarısız oldu ... Bu sınıfta bulduğum tek sayfa (sic !!) http://developer.android.com/reference/android/support/v4/view/PagerTitleStrip.html Yani ... Ben sadece benim ViewPager düzen içinde PagerTitleStrip eklemem gerekiyor, ama benim aktivitesi üzerine yeni bir şey görmüyorum görünüyorBirisi PagerTitleStrip'in 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> 

herkes nasıl kullanılacağını biliyor mu?

Düzenlendi: ViewPagerAdapter yılında getPageTitle yöntemi uygularken Maalesef çalıştığını ... ama herhangi bir metin önce ve sonrakilere oranla mevcut Görünümde pozisyonunu göstermek için, sadece küçük bir imleç görüntülenir istemiyoruz ...

cevap

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> 

Sonra PageAdapter aşağıdaki kodu eklemek gerekir:

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

Çok hoş.

+0

Oldukça iyi çalışır ... Bu özelleştirme açısından en iyisidir ama işini yapar. Bu kabul edilen cevap olmalı! –

2

PagerTitleStrip'in görünmediği yerlerde de bu sorunu yaşadım. Yukarıdaki cevaplar yardımcı olmadı. Sorun şu ki, http://developer.android.com/reference/android/support/v4/view/ViewPager.html'daki örneği takip ettim.

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

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

Yukarıdaki kod, PagerTitleStrip aygıtını değil, çağrı cihazını gösterir.

I

kodu değiştirildi
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/düzeni/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> 

Ayrıca ViewPager tüm kod kaldırarak API 8 geriye doğru uyumlu olduğu için mümkün ActionBar ve ActionBar.Tab'i manipüle etmek için örnek (javadoc sayfası).

-1

PagerTitleStrip, bir ViewPager öğesinin geçerli, sonraki ve önceki sayfalarının etkileşimli olmayan bir sinyalidir. Gerçekten 2. Etkinlik oluştur

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

Adım ViewPager bu (MainActvity içeren düzen activity_main.xml Oluştur ViewPager widget'ı

Adım 1. çocuğuyum görüşü olarak kullanılmak üzere tasarlanmıştır.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); 
} 
} 

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

İlgili konular