VerticalTabLayout选中改变颜色
时间: 2024-01-17 13:04:49 浏览: 109
改变选择table行的背景色
5星 · 资源好评率100%
要实现VerticalTabLayout选中改变颜色,你可以在你的自定义TabLayout的onTabSelected方法中设置选中和未选中时的颜色。
举个例子,假设你的TabLayout的布局文件如下:
```xml
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
app:tabGravity="fill"
app:tabIndicatorHeight="0dp"
app:tabMode="fixed"
app:tabTextColor="@color/tab_text_color_selector" />
```
你可以在你的代码中找到TabLayout并设置TabLayout.OnTabSelectedListener,然后在onTabSelected方法中设置选中和未选中时的颜色。例如:
```java
TabLayout tabLayout = findViewById(R.id.tab_layout);
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
// 设置选中时的颜色
tab.getIcon().setColorFilter(ContextCompat.getColor(MainActivity.this, R.color.tab_selected_color), PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
// 设置未选中时的颜色
tab.getIcon().setColorFilter(ContextCompat.getColor(MainActivity.this, R.color.tab_unselected_color), PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
// Do nothing
}
});
```
上述代码中,我们通过tab.getIcon()获取每个Tab的图标,并使用setColorFilter方法设置选中和未选中时的颜色。我们使用了ContextCompat.getColor获取颜色资源,以确保代码的兼容性。你可以根据自己的需要自定义选中和未选中时的颜色。
阅读全文