web-dev-qa-db-ja.com

Android ViewPagerで現在のタブのハイライト色を変更する方法は?

ViewPager内の私のレイアウトです。テキストの下にある現在のタブハイライターの色を変更したいと思います。実際には黒い色で表示されています。しかし、デフォルトで色であるかどうかはわかりません。また、もう1つ疑問があります。 PagerTitleStripを使用すると、このタブハイライターは表示されません。タイトルストリップでそれをもたらす方法はありますか?

これが私のレイアウトです。

  <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>
25
intrepidkarthi

これは機能します。

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

ありがとう!

63
intrepidkarthi

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));
13
yubaraj poudel

これは私のプロジェクトで動作します。

<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" />
0
Dhaval Shingala