Изменение цвета текста определенной вкладки в PagerSlidingTabStrip

я использую PagerSlidingTabStrip для реализации 3 вкладок внутри пейджера просмотра, и все выглядит нормально. мой вопрос: я искал, но не смог найти правильный ответ о том, как изменить цвет текста определенной вкладки при определенном событии, и когда пользователь переходит на эту вкладку, цвет текста возвращается к нормальному (когда выбран и не выбран) . я не возражаю против использования TabLayout, если это не поддерживается PagerSlidingTabStrip. пожалуйста, любые учебники или руководства, чтобы помочь мне?


person Rashad.Z    schedule 05.10.2015    source источник


Ответы (1)


Я настраиваю SlidingTabLayout для этой цели. Перейдите по этой ссылке SlidingTabLayout — суть. или Если вы не хотите изменять свой PagerSlidingTabStrip с помощью SlidingTabLayout, вам нужно настроить onPageSelected() вашего PagerSlidingTabStrip, например, получить положение вкладки. Затем найдите свой TextView в ViewHierarchy и измените textColor TextView.

if((position == i)){
    tabPosition = position;
    TextView title = (TextView) mTabStrip.getChildAt(i);
    title.setTextColor(mTabViewSelectedTextColor);
} else{
    TextView title = (TextView) mTabStrip.getChildAt(i);
    title.setTextColor(mTabViewTextColor);
}

Вышеупомянутая ссылка SlidingTabLayout (gist) даст такой вывод.

введите здесь описание изображения

person SureshCS50    schedule 05.10.2015
comment
но это не позволит цвету текста вкладки иметь два цвета (один, когда вкладка выбрана, а другой, когда вкладка не выбрана) - person Rashad.Z; 05.10.2015
comment
Теперь я добавил вывод этого SlidingTabLayout. Проверьте, что вы хотите. :) Эта ссылка будет поддерживать как ImageView, так и TextView. Прочтите этот файл readme.md, который я прикрепил к этой сути. - person SureshCS50; 05.10.2015