如何在Android ViewPager中更改当前选项卡突出显示颜色?

时间:2012-09-13 14:03:37

标签: android android-layout android-viewpager android-view

这是ViewPager内的布局。我想更改文本下方当前标签荧光笔的颜色。实际上它以黑色显示。但我不知道它是否是默认的颜色。而且我还有一个疑问。如果我使用PagerTitleStrip此标签,则不会显示荧光笔。有没有办法用titletrip带来它?

这是我的布局:

  <android.support.v4.view.PagerTabStrip android:id="@+id/pager_title_strip"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:background="@color/pager_titlestrip_bg"    
    android:textColor="@color/pager_titlestrip_text"
    android:paddingTop="5dp"
    android:paddingBottom="4dp" >   
  </android.support.v4.view.PagerTabStrip>

3 个答案:

答案 0 :(得分:62)

这只是有效。

PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_title_strip);
pagerTabStrip.setDrawFullUnderline(true);
pagerTabStrip.setTabIndicatorColor(Color.RED);

谢谢!

答案 1 :(得分:13)

可以使用jAVA或XML

以编程方式完成

按XML

<android.support.design.widget.TabLayout
        android:id="@+id/tabanim_tabs"
        android:layout_width="match_parent"
        app:tabIndicatorHeight="4dp"
        app:tabIndicatorColor="@android:color/white"
        android:layout_height="wrap_content" />

或者更简单地说,你可以解决这个代码

tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#FFFFFF"));

与更改高度相似

tabLayout.setSelectedTabIndicatorHeight((int) (2 * getResources().getDisplayMetrics().density));

答案 2 :(得分:0)

这适用于我的项目。

<android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#FFF"
    app:tabGravity="fill"
    app:tabIndicatorColor="@color/text3"
    app:tabMode="scrollable"
    app:tabSelectedTextColor="@color/text3"
    app:tabTextColor="#000" />