Android字幕管理器返回无效值

时间:2016-03-03 03:23:16

标签: android android-accessibility

我正在尝试与Android的内置辅助功能支持集成,以增强隐藏式字幕。

如果我尝试从全局设置中访问值,则会得到无效的负整数值。例如,

  

CaptioningManager.CaptionStyle.backgroundColor

返回

  

-65536

类似地,

CaptioningManager.edgeColor返回

  

-16777216

这似乎是因为本机实现中的十六进制转换错误。 有没有人遇到类似的问题,如果有的话,如何解决相同的问题?

1 个答案:

答案 0 :(得分:1)

在java中,整数应为4个字节,它们代表无符号数。 类似地,每种颜色分别表示为4个字节:Alpha,Red,Green和Blue。这意味着,每个可能的整数值也将是有效的颜色值,即使是负数。

如果检查颜色类,即使预定义的颜色值也会初始化为整数:

public static final int BLACK       = 0xFF000000;
public static final int GRAY        = 0xFF888888;
public static final int WHITE       = 0xFFFFFFFF;

您的价值观是:

-65536 = 0xFFFF0000: RED.
-16777216 = 0xFF000000: BLACK