【问题标题】:Android TabWidget set background color errorAndroid TabWidget设置背景颜色错误
【发布时间】:2010-11-18 22:02:05
【问题描述】:

我一直在尝试将样式应用到我的 TabWidget。

我尝试了几种方法,例如

for(int i=0;i

来自 How do I change the background of an Android tab widget?

但是,此代码对我不起作用。我也尝试过使用一些 XML 样式。我得到的最接近的是设置 Divider,但是这会使整个选项卡小部件变成一种纯色,并且选项卡不再绘制在顶部。

请帮忙。 Mark 的书只涉及设置选项卡的图标,而不是更改颜色。我觉得这应该很简单,但是 TabWidgets 和 Hosts 让一切变得更加困难。

我已经针对 1.6 和 2.2 平台尝试过这段代码,但 API 都不起作用。

谢谢

【问题讨论】:

  • 我在 XML 布局中而不是在 java 中这样做

标签: android views styles tabwidget


【解决方案1】:

标签的背景实际上是NinePatch 图像,设置为StateListDrawable。当您调用setBackgroundColor() 时,您正在用一种简单的颜色替换set StateListDrawable,因此整个选项卡变成了该颜色。您需要做的是实际修改(或绘制您自己的)NinePatch 选项卡图像,它们是您想要的每种状态(例如,聚焦、按下等)的颜色和样式。

或者,您可以在代码中设置 ColorFilter,如 here 所述(getBackground() 将适用于 TabWidget 以及按钮),但我建议您亲自使用 NinePatch 路线。

【讨论】:

    猜你喜欢
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 2016-09-01
    • 2012-07-31
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    相关资源
    最近更新 更多