【问题标题】:Android - How to change tab text color in Swipe Views with Tabs?Android - 如何在使用标签的滑动视图中更改标签文本颜色?
【发布时间】:2016-02-16 18:49:27
【问题描述】:

我是 android 新手。我目前遇到了关于如何更改标签文本颜色的问题?我没有用tabhost,有没有不用tabhost的其他方法?

我按照本教程创建一个 Android Tab Layout with Swipeable Views

public class UserLogin extends FragmentActivity implements ActionBar.TabListener {

private SignIn signIn;

private ViewPager viewPager;
private TabPagerAdapter tabAdapter;
private ActionBar actionBar;

private String[] tabs = { "LOG IN", "SIGN UP"};


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.user_login);

    viewPager = (ViewPager) findViewById(R.id.pager);
    actionBar = getActionBar();
    tabAdapter = new TabPagerAdapter(getSupportFragmentManager());

    viewPager.setAdapter(tabAdapter);
    actionBar.setDisplayUseLogoEnabled(true);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setHomeButtonEnabled(true);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);  

    actionBar = getActionBar();
    for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(this));
    }

    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            // on changing the page
            // make respected tab selected
            actionBar.setSelectedNavigationItem(position);
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }
    });

}        

public void onTabReselected(Tab tab, FragmentTransaction ft) {
}

public void onTabSelected(Tab tab, FragmentTransaction ft) {
    // on tab selected
    // show respected fragment view
    viewPager.setCurrentItem(tab.getPosition());
}

public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}

我应该修改什么来将文本颜色更改为蓝色..

【问题讨论】:

  • 分享你的代码,你卡在哪里了?
  • @SidM 如何使用此代码更改选项卡文本颜色..

标签: android tabs


【解决方案1】:

选项卡基本上是操作栏,因此如果您更改操作栏文本颜色,选项卡文本颜色应该会改变。这是更改操作栏文本颜色的一种方法。

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
  <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
 </style>

 <style name="MyTheme.ActionBarStyle"parent="@android:style/Widget.Holo.Light.ActionBar">
  <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
 </style>

 <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
  <item name="android:textColor">@color/red</item>
 </style>
</resources>

【讨论】:

    【解决方案2】:

    在 xml 文件中尝试以下代码以更改活动和非活动文本颜色

    <com.astuetz.PagerSlidingTabStrip
      android:id="@+id/tabs"
      android:layout_width="match_parent"
      android:layout_height="48dp"
      app:pstsTabSwitch="true"
      app:pstsActivateTextColor="#FF666666"
      app:pstsDeactivateTextColor="#FFCCCCCC" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多