【问题标题】:Change color of drawable in PagerTabStrip在 PagerTabStrip 中更改可绘制的颜色
【发布时间】:2018-02-06 10:45:29
【问题描述】:

我正在使用 PagerTabStripViewPager 在我的应用程序的不同视图之间切换,并且效果很好。我通过这种方法使用drawables作为PageTitles

https://stackoverflow.com/a/12837635/7459644

这也很有效,但是我确实想在选择drawables 时更改它们的颜色,有没有办法做到这一点? I use a onPageListener, so I do have a callback when a certain page is selected, I simply don't know how to change the color of the given Page-title drawable when that page is selected.对于文本,有一个内置方法,但我在官方文档中找不到任何有关可绘制对象的信息。

【问题讨论】:

  • 您知道如何为可绘制对象着色,但不知道如何设置它们。对吗?
  • 是的,我总是可以向 PagerTabStrip 添加一个彩色可绘制对象,但是在设置之后我不确定应该如何更新可绘制对象的颜色。
  • 如果您有可绘制的参考,您可以drawable.setColorFilter(0xffff0000, PorterDuff.Mode.SRC_ATOP); 将其设置为红色。试试看。
  • 效果很好,非常感谢!我会将答案作为解决方案发布。

标签: android android-layout pagertabstrip


【解决方案1】:

正如@rupinderjeet 在 cmets 中所述,我通过在将可绘制对象添加到 PagerTabStrip 之前将它们保存在一个数组中来解决它。因为我有对可绘制对象的引用,所以我只是添加了一个更改可绘制对象颜色的方法,并从我的 ViewPager 中的 onPageListener 调用它。像魅力一样工作!

drawable.setColorFilter(0xffff0000, PorterDuff.Mode.SRC_ATOP);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    相关资源
    最近更新 更多