Макет вкладок исправит только 5 вкладок, а другие делают прокручиваемыми?

Я реализовал tabLayout с ViewPager. Мое требование состоит в том, чтобы исправить только 5 вкладок на ширину устройства и, если больше 5, то вкладки с 6-го должны быть прокручиваемыми.

Я пытался использовать tabModes как фиксированный и tabMode как прокручиваемый, я также пытался манипулировать шириной, но безуспешно.

Ширина PagerTabStrip должна быть изменена вместе с ней.

Любая помощь или предложение будут оценены.

2 ответа

Вы можете использовать PagerTabStrip

PagerTabStrip - это интерактивный индикатор текущей, следующей и предыдущей страниц ViewPager. Он предназначен для использования в качестве дочернего представления виджета ViewPager в макете XML.

Пожалуйста, проверьте Демо https://github.com/astuetz/PagerSlidingTabStrip.

Загрузите оба файла и скопируйте его в свой проект

https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SlidingTabLayout.java

https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SlidingTabStrip.java

а затем попробуйте что-нибудь подобное

 ViewPager pager= (ViewPager) findViewById(R.id.pager);//your pager id
  SlidingTabLayout slidingTabLayout= (SlidingTabLayout) findViewById(R.id.sliding_tab);
        TabsPagerAdapter tabsPagerAdapter=new TabsPagerAdapter(getSupportFragmentManager());

        pager.setAdapter(tabsPagerAdapter);
        slidingTabLayout.setDistributeEvenly(true);
        slidingTabLayout.setViewPager(pager); 

и ваш XML-файл будет что-то вроде этого

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent" android:layout_width="match_parent">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/toolbar"
        android:background="@color/primary"
        android:minHeight="?attr/actionBarSize">
    </android.support.v7.widget.Toolbar>


    <com.example.SlidingTabLayout
        android:layout_below="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/sliding_tab">



    </com.example.SlidingTabLayout>


    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_below="@+id/sliding_tab"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    </android.support.v4.view.ViewPager>
</RelativeLayout>
Другие вопросы по тегам