Страницы

Поиск по вопросам

Показаны сообщения с ярлыком android-tablayout. Показать все сообщения
Показаны сообщения с ярлыком android-tablayout. Показать все сообщения

суббота, 8 февраля 2020 г.

Сменить цвет таба в TabLayout

#java #android #android_tabs #android_tablayout


Есть TabLayout с некоторым количеством табов, добавляемых с помощью ViewPager.
Каким образом выделить один таб среди остальных? К примеру, нужно чтобы 2 таб имел
отличный от других цвет. Или же проще будет изменить цвет текста в этом табе? Как можно
это реализовать?
Пока в голову идет только создание customView, что-то такое:

tabLayout.getTabAt(2).setCustomView(...);

    


Ответы

Ответ 1



Попробуйте таким способом: TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout); ViewGroup vg = (ViewGroup) tabLayout.getChildAt(0); ViewGroup vgTab = (ViewGroup) vg.getChildAt(tabCustomNumber); vgTab.setBackgroundColor(tabCustomColor);

Ответ 2



Для начала в drawable задайте селектор tab_background.xml для активной вкладки tab_background_selected.xml (атрибуты задайте как Вам необходимо) для неактивной вкладки tab_background_unselected.xml и в styles.xml определите

вторник, 24 декабря 2019 г.

Растянуть табы по match parent

#java #android #android_layout #android_xml #android_tablayout


Имеется вот такая активити:



Табы нужно растянуть, как если бы это был LinearLayout и у FORM с PREVIEW были одинаковые
веса(делят ширину одинаково).

Разметка:




    


        

        

    


    





PS. app:tabGravity="center" ставил fill - не помогает.
    


Ответы

Ответ 1



Судя по всему дело в app:tabMode="scrollable" - из-за такого значения табы занимают минимальную для себя ширину. Вам же надо на всё свободное место. Для этого надо сменить mode на fixed Сделайте так: app:tabGravity="fill" app:tabMode="fixed"

четверг, 11 апреля 2019 г.

Сменить цвет таба в TabLayout

Есть TabLayout с некоторым количеством табов, добавляемых с помощью ViewPager. Каким образом выделить один таб среди остальных? К примеру, нужно чтобы 2 таб имел отличный от других цвет. Или же проще будет изменить цвет текста в этом табе? Как можно это реализовать? Пока в голову идет только создание customView, что-то такое:
tabLayout.getTabAt(2).setCustomView(...);


Ответ

Попробуйте таким способом:
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout); ViewGroup vg = (ViewGroup) tabLayout.getChildAt(0); ViewGroup vgTab = (ViewGroup) vg.getChildAt(tabCustomNumber); vgTab.setBackgroundColor(tabCustomColor);

вторник, 27 ноября 2018 г.

Растянуть табы по match parent

Имеется вот такая активити:

Табы нужно растянуть, как если бы это был LinearLayout и у FORM с PREVIEW были одинаковые веса(делят ширину одинаково).
Разметка:







PS. app:tabGravity="center" ставил fill - не помогает.


Ответ

Судя по всему дело в app:tabMode="scrollable" - из-за такого значения табы занимают минимальную для себя ширину. Вам же надо на всё свободное место. Для этого надо сменить mode на fixed
Сделайте так:
app:tabGravity="fill" app:tabMode="fixed"