【问题标题】:How can I get an ImageView's tint color programatically?如何以编程方式获取 ImageView 色调?
【发布时间】:2016-09-15 21:49:03
【问题描述】:

我可以使用setColorFilter(int color) 设置ImageView 的色调颜色,但getColorFilter() 返回ColorFilter 对象而不是int 颜色。似乎我可以将ColorFilter 转换为具有公共getColor() 方法的PorterDuffColorFilter,但仍需要使用反射调用,因为它使用@hide 进行了注释。这看起来很老套,不能保证不会破坏。

我是否遗漏了什么,或者有人想出了一个不那么老套的更好的解决方案?

【问题讨论】:

    标签: android imageview


    【解决方案1】:

    你可以考虑使用ColorStateList getImageTintList()

    请看链接Tinting ImageView not working on Android 5.0. Ideas how to make it work again?

    【讨论】:

    • 该方法似乎只返回初始色调颜色,并且不会针对色调颜色的后续更改进行更新(如您链接中的原始回答者所述)。
    • 您找到解决方案了吗? @RitzMalheur
    猜你喜欢
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 2021-06-27
    相关资源
    最近更新 更多