2013-09-29 3 views
2

Есть ли шанс изменить PagerTitleStrip, чтобы показать все страницы, а не только три. Основываясь на том, что я нашел, вероятно, нет. Но можете ли вы предложить альтернативу с аналогичной ролью?android PagerTitleStrip как изменить его, чтобы показать все страницы

+1

Что вы имеете в виду только 3? Вы можете отобразить пользовательское название для всех страниц с позицией. Что вы пробовали? –

+1

PagerTitleStrip показывает по умолчанию только три страницы: предыдущий, текущий, следующий. Хотя я хотел бы отображать имена всех страниц (фрагментов) (какая-то более богатая информация о навигации, например, если у меня есть 8 страниц, имена всех 8 страниц отображаются сверху, а один - с указанием цвета текущая страница). – user2707175

+0

Пожалуйста, разместите FragmentPagerAdapter, который вы используете. –

ответ

0

Попробуйте это.

public class SectionsPagerAdapter extends FragmentPagerAdapter{ 

    public SectionsPagerAdapter(FragmentManager fm) { 
     super(fm); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public Fragment getItem(int position) { 
     // TODO Auto-generated method stub 
     Fragment fragment = new DummySectionFragment(); 
     Bundle args = new Bundle(); 
     args.putInt(DummySectionFragment.ARG_SELECTION_NUMBER, position + 1); 
     fragment.setArguments(args); 
     return fragment; 
    } 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return 2; 
    } 
    public CharSequence getPageTitle(int position){ 
     Locale l = Locale.getDefault(); 
     switch(position){ 
     case 0: 
      return getString(R.string.general).toUpperCase(); \\GET YOUR STRING 
     case 1: 
      return getString(R.string.Home).toUpperCase(); \\GET YOUR STRING 
     case 2: 
       return getString(R.string.something).toUpperCase();\\GET YOUR STRING 
     case 3: 
       return getString(R.string.another).toUpperCase(); \\ DO the SAME IF YOU HAVE MORE STRING 
     } 
     return null; 
    } 

} 


    public static class DummySectionFragment extends ListFragment{ 

      public static final String ARG_SELECTION_NUMBER = "section_number"; 

    public DummySectionFragment(){ 

    } 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ 
     p = getArguments().getInt(ARG_SELECTION_NUMBER); 
     rootView = inflater.inflate(R.layout.viewrow, container, false); 

     return rootView; 

    } 
} 
+1

Благодарим вас за помощь, но представленный вами код является классическим кодом ViewPager. Шахты работают без проблем. Но просто мне нужен другой компонент - тот, который покажет позицию не в пределах prev, curr, только следующих элементов, кроме той, которая покажет позицию среди всех страниц. ех. «1 2 3 4 5 6 7 8», где текущая страница ex. «4» отмечен красным. – user2707175

Смежные вопросы