android - 设置颜色选项卡主机指示器

标签 android android-tabhost

如何设置选项卡主机指示器颜色的颜色我想将浅蓝色默认颜色更改为红色。

enter image description here

我需要以编程方式进行此操作,因为我正在以编程方式制作选项卡。

我做了一些研究并查看了这个示例,但它对我不起作用。使用编程方法。

TabWidget current tab bottom line color

谢谢

最佳答案

您可以按照 linked question 中的解决方案以编程方式执行此操作,甚至可以根据需要更改颜色。你提到,加上一个ColorFilter调整颜色。

所以:

  1. 创建适当的可绘制对象。如其中一个答案所述,最简单的方法是使用 https://jgilfelt.github.io/android-actionbarstylegenerator/
  2. tab_indicator_ab_example.xml(在 drawable 中)加上每个 drawable 密度的 6 个关联的 png 文件 (tab_*.png)。
  3. 创建选项卡后,使用遍历 TabWidget subview 的代码来设置它们的背景,但是:
  4. 不是按原样设置可绘制对象,而是使用滤色器将其颜色更改为所需的颜色

代替这段代码:

for(int i = 0; i < widget.getChildCount(); i++) {
    ... /* same as before */

    v.setBackgroundResource(R.drawable.your_tab_selector_drawable);
}

这样写:

for(int i = 0; i < widget.getChildCount(); i++) {
    ... /* same as before */

    Drawable d = getResources().getDrawable(R.drawable.tab_indicator_ab_example);
    d.setColorFilter(Color.GREEN, PorterDuff.Mode.SRC_IN);
    v.setBackgroundDrawable(d);
}

关于android - 设置颜色选项卡主机指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27609989/

相关文章:

带有tabhost的android activitygroup,键盘不显示

android - 清除android中的蓝牙名称缓存

java - Android 通知应用程序无法正常工作

java - Android TabHost奇怪错误

java - 当应用程序全屏显示时,tabhost 会隐藏

Android - 带有过渡动画的 TabActivity

java - "file:///"和 "file://"之间的区别

java - Android 中索引 3 无效,大小为 0

android - 在 NDK 中使用资源文件

android - Tab 内的 WebView 隐藏 tabWidgets