更改在Android Studio中选择的TabLayout的颜色

时间:2018-09-03 23:36:41

标签: android android-layout android-tablayout

我是Android Studio的新手,在此页面上,我需要知道在选择选项卡时如何更改颜色。

我已经尝试过该设计,但没有成功。这是代码:

grant_type=password

3 个答案:

答案 0 :(得分:1)

我假设您正在使用支持库。

1 ...您可以简单地在代码中执行以下操作:

 tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#FF0000"));
    tabLayout.setSelectedTabIndicatorHeight((int) (5 * getResources().getDisplayMetrics().density));
    tabLayout.setTabTextColors(Color.parseColor("#727272"), Color.parseColor("#ffffff"));

2 ...您也可以在xml中执行此操作。将以下内容添加到标签中

app:tabSelectedTextColor="@color/color_primary_text"
app:tabTextColor="@color/color_secondary_text"

您在xml中的布局最终看起来像这样

android:id="@+id/tab_layout_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/logo_home"
android:background="@null"
android:visibility="visible"
app:layout_scrollFlags="enterAlways"
app:tabGravity="center"
app:tabPaddingBottom="0dp"
app:tabPaddingEnd="@dimen/content_inset_half"
app:tabPaddingStart="@dimen/content_inset_half"
app:tabPaddingTop="0dp"
app:tabTextColor="@color/tab_text_color_selector"
app:tabSelectedTextColor="@color/colorWindowsBackgroundLight"
app:tabSelectedTextColor="@color/color_primary_text"
app:tabTextColor="@color/color_secondary_text" />

答案 1 :(得分:0)

尝试一下:

xml代码标签页布局

<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_gravity="bottom"
android:background="@color/button_background"
android:fillViewport="true"
app:tabBackground="@drawable/fixed_bottom_button"
app:tabIndicatorColor="@color/color_primary_text"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/color_primary_text"
app:tabTextColor="@color/color_secondary_text" />

在标签页布局中添加两个属性

app:tabSelectedTextColor="@color/color_primary_text"
app:tabTextColor="@color/color_secondary_text"

Java代码

tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#FF0000"));
tabLayout.setSelectedTabIndicatorHeight((int) (5 * getResources().getDisplayMetrics().density));
tabLayout.setTabTextColors(Color.parseColor("#727272"), Color.parseColor("#ffffff"));

它可以帮助您

答案 2 :(得分:0)

好,感谢您的支持,我使用了很多发现的信息,但是问题是我没有在setText()方法中使用getTabAt(),使用setCustomView()(这是xml中的自定义视图),这就是为什么它没有更改颜色或tabSelectedTextColor()方法不能正常工作的原因。 只需删除自定义设计,然后使用本机设计手动输入选项卡的标题,就可以使用此设计。