【问题标题】:Change Alpha on a Color object更改颜色对象的 Alpha
【发布时间】:2014-10-10 13:46:31
【问题描述】:

有没有一种方法可以将 aplha 添加到我可以从颜色字符串中获得的颜色。 因为现在我可以使用以下代码在没有 alpha 的情况下绘制我的颜色

      CircleOptions options = new CircleOptions().center(new LatLng(car.getLatitude(), car.getLongitude()))
          .radius(car.getRadius())
          .strokeColor(Color.argb(50,232,245,248))
          .strokeWidth(2)
          .fillColor(Color.parseColor(car.getColorString()));

这很好用。但我想让颜色更透明。有没有一种添加 alpha 的好方法来做这种颜色,因为我只能得到一个“ColorString”

【问题讨论】:

    标签: java android alpha


    【解决方案1】:

    颜色表示为 int,您可以使用 0xAARRGGBB 等十六进制表示法来表示它,表示 Alpha、Red、Green、Blue。所以每个值都可以是 0 到 255。

    这样,通过一些位操作就可以实现你想要的。

    如果你想重置 alpha 值,那么,

    int newColor = 0x10000000 | (Color.parseColor(car.getColorString()) & 0xFFFFFF);
    

    (0x10000000 表示新的 alpha 值 - 16 大约是 6.274% alpha,因为 100% 是 255)
    (0xFFFFFF 表示我们只从颜色中获取 rgb 值)

    See also

    【讨论】:

      【解决方案2】:

      您可以在 android 中使用颜色的十六进制代码上的两个额外数字来更改颜色的 alpha。

      看看official colour documentation

      您只需要应用以下规则:

      该值始终以井号 (#) 字符开头,然后是 通过以下之一中的 Alpha-Red-Green-Blue 信息 格式:

      RGB

      ARGB

      RRGGBB

      AARRGGBB

      【讨论】:

        猜你喜欢
        • 2021-07-28
        • 1970-01-01
        • 1970-01-01
        • 2014-08-26
        • 1970-01-01
        • 1970-01-01
        • 2018-05-06
        • 2020-08-05
        • 1970-01-01
        相关资源
        最近更新 更多