gpt4 book ai didi

java - 如何更改 Sliding TabLayout 的文字颜色?

转载 作者:IT老高 更新时间:2023-10-28 21:21:02 26 4
gpt4 key购买 nike

我做了一个使用 ActionBarCompat 的应用程序

我使用 SlidingTabLayout 类创建了标签。

类(class)是这样的:

SlidingTabLayout.java

但我无法更改标签的颜色...

我的 viewpager fragment 是这样的:

<swmovil.fyb.SlidingTabLayout
android:id="@+id/mTabs"
android:layout_width="match_parent"
android:layout_height="48dip" />

<android.support.v4.view.ViewPager
android:id="@+id/mPager"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
android:background="@color/white" />

该应用程序运行良好,但我无法更改选项卡的彩色文本...

看到下面的例子,我就申请了:

rudsonlive/Navigation-Drawer-ViewPager-ActionBarCompat

如何更改标签文本的文本颜色?

谢谢!!!

最佳答案

1)首先在res(/res/color)下创建color文件夹
2) 在/res/color文件夹下创建xml文件selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="@android:color/white" />
<item android:state_focused="true" android:color="@android:color/white" />
<item android:state_pressed="true" android:color="@android:color/white" />
<item android:color="#504f4f" />
</selector>

3) 然后在SlidingTabLayout的populateTabStrip()方法中放这个

tabTitleView.setTextColor(getResources().getColorStateList(R.color.selector));

现在你有了一个选择器,你可以在任何你想要的事件上更改文本的颜色

如果这不起作用,请添加以下代码行。
a) 在最后的 populateTabStrip() 方法中添加这个

if (i == mViewPager.getCurrentItem()) {
tabView.setSelected(true);
}

和 b) 将 onPageSelected() 方法更改为此

    @Override
public void onPageSelected(int position) {
if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
mTabStrip.onViewPagerPageChanged(position, 0f);
scrollToTab(position, 0);
}
for (int i = 0; i < mTabStrip.getChildCount(); i++) {
mTabStrip.getChildAt(i).setSelected(position == i);
}
if (mViewPagerPageChangeListener != null) {
mViewPagerPageChangeListener.onPageSelected(position);
}
}

关于java - 如何更改 Sliding TabLayout 的文字颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25089866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com