Вкладка с указанием стиля c с использованием Tablayout и ViewPager2 - PullRequest
0 голосов
/ 10 апреля 2020

Я ищу способ стилизовать вкладки независимо друг от друга, как показано на следующем изображении: enter image description here

В этом случае у нас есть другой значок, цвет фона и цвет табуляции индикатора. Похоже, это нужно программно, потому что вкладки загружаются на основе адаптера пейджера.

ОБНОВЛЕНИЕ

После применения ответа @Chhatrasal Singh Bundela enter image description here

Швы, чтобы иметь отступы во вкладке, знаете ли вы, как сделать так, чтобы она занимала всю область вкладок.

1 Ответ

0 голосов
/ 11 апреля 2020

Вы можете использовать TabLayoutMediator класс для использования viewpager2 с TabLayout. Обратный вызов дает вам право настраивать каждую вкладку TabLayout.

new TabLayoutMediator(mBinding.tabLayout,
                mBinding.viewPager,
                new TabLayoutMediator.OnConfigureTabCallback() {
                    @Override
                    public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
                        // tab -> refernce of the tab & position -> position of the tab
                        FrameLayout frameLayout = new FrameLayout(getContext());
                        //build your customView .
                        frameLayout.addView(/*Add all the child views. */);
                                      //or
                        //inflate your customView xml.
                        tab.setCustomView(frameLayout);
                    }
                })
                .attach();;
...