Макет вкладок исправит только 5 вкладок, а другие делают прокручиваемыми?
Я реализовал tabLayout с ViewPager. Мое требование состоит в том, чтобы исправить только 5 вкладок на ширину устройства и, если больше 5, то вкладки с 6-го должны быть прокручиваемыми.
Я пытался использовать tabModes как фиксированный и tabMode как прокручиваемый, я также пытался манипулировать шириной, но безуспешно.
Ширина PagerTabStrip должна быть изменена вместе с ней.
Любая помощь или предложение будут оценены.
2 ответа
Вы можете использовать PagerTabStrip
PagerTabStrip - это интерактивный индикатор текущей, следующей и предыдущей страниц ViewPager. Он предназначен для использования в качестве дочернего представления виджета ViewPager в макете XML.
Пожалуйста, проверьте Демо https://github.com/astuetz/PagerSlidingTabStrip.
Загрузите оба файла и скопируйте его в свой проект
а затем попробуйте что-нибудь подобное
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>