在 tablayout 中仅将文本颜色设置为一个选项卡
Set textcolor only one tab on tablayout
我想在 tablayout 上设置 textColor
只有一个选项卡。默认情况下,一个选项卡必须具有另一种颜色。
这是我在 XML
中的 Tablayout
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabTextColor="@color/colorWhite"
app:tabIndicatorColor="@color/colorPrimary"
android:background="@color/colorBackground"
app:tabMode="fixed" />
它使所有标签都变成白色。
我试过这个:
tabs_main.getTabAt(3)?.icon?.alpha = 225
但是没用
如何更改一个选项卡颜色?
使用 alpha 你改变的是内部文本的不透明度,而不是颜色。
如果这是您想要实现的目标,请检查 tabs_main.getTabAt(3)
是否 return null。
否则,我建议您在选项卡元素内使用自定义 TextView
。
示例:
创建布局:custom_text_view.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/customTabTextView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="@color/your_color"
android:textSize="14sp" />
将布局添加为每个选项卡项的自定义视图,并为每个选项卡选择所需的textColor
。
(0..tabLayout.tabCount).forEach { position ->
val customTextView = LayoutInflater.from(this).inflate(R.layout.custom_text_view, null)
// Set the text color
customTextView.setTextColor(ContextCompat.getColor(applicationContext, R.color.<name_of_color>))
tabLayout.getTabAt(position)?.customView = customTextView
}
我想在 tablayout 上设置 textColor
只有一个选项卡。默认情况下,一个选项卡必须具有另一种颜色。
这是我在 XML
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabTextColor="@color/colorWhite"
app:tabIndicatorColor="@color/colorPrimary"
android:background="@color/colorBackground"
app:tabMode="fixed" />
它使所有标签都变成白色。 我试过这个:
tabs_main.getTabAt(3)?.icon?.alpha = 225
但是没用 如何更改一个选项卡颜色?
使用 alpha 你改变的是内部文本的不透明度,而不是颜色。
如果这是您想要实现的目标,请检查 tabs_main.getTabAt(3)
是否 return null。
否则,我建议您在选项卡元素内使用自定义 TextView
。
示例:
创建布局:custom_text_view.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/customTabTextView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="@color/your_color"
android:textSize="14sp" />
将布局添加为每个选项卡项的自定义视图,并为每个选项卡选择所需的textColor
。
(0..tabLayout.tabCount).forEach { position ->
val customTextView = LayoutInflater.from(this).inflate(R.layout.custom_text_view, null)
// Set the text color
customTextView.setTextColor(ContextCompat.getColor(applicationContext, R.color.<name_of_color>))
tabLayout.getTabAt(position)?.customView = customTextView
}