【问题标题】:How to check a view's background color ? (API < 13)如何检查视图的背景颜色? (API < 13)
【发布时间】:2014-11-24 01:21:45
【问题描述】:

我有一个不同视图的布局。 其中一个视图的背景颜色设置为android.R.color.holo_green_light

在点击处理程序中,如何检查被点击元素的背景是否设置为android.R.color.holo_green_light

我知道对于 API > 13 我可以得到view.getBackground().getColor(),但是对于低于 13 的 API 怎么办?

【问题讨论】:

  • 嗨,如果它可以提供帮助,我不知道,但这个解决方案可以从 API 11 中获得,它可能比你正在使用的更低(你没有指定):stackoverflow.com/a/14779461/2545832
  • View.getBackground() 返回一个 Drawable。 Drawable 没有 getColor() 方法。

标签: android


【解决方案1】:

如果你知道视图的背景是一种颜色。

您可以获取可绘制对象并将其转换为 ColorDrawable:

ColorDrawable viewColor = (ColorDrawable) view.getBackground();
int colorId = viewColor.getColor();

适用于 Android API 11

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    相关资源
    最近更新 更多