Use parseColor instead of getHTMLColor
getHTMLColor is not aware of ARGB color format which is commonly used in android xml files. This causes problem with coloring spans in resources. Instead of above it should be changed to parseColor() with supported formats: #RRGGBB #AARRGGBB Bug: https://code.google.com/p/android/issues/detail?id=58192 Change-Id: I16bdf4c5c2a3b5e216b44e5c1955cac0104b3e12
This commit is contained in:
committed by
Johan Redestig
parent
59701b9ba5
commit
a987d9af69
@ -311,13 +311,13 @@ final class StringBlock {
|
||||
* the color black is returned instead.
|
||||
*
|
||||
* @param color The color as a string. Can be a resource reference,
|
||||
* HTML hexadecimal, octal or a name
|
||||
* hexadecimal, octal or a name
|
||||
* @param foreground True if the color will be used as the foreground color,
|
||||
* false otherwise
|
||||
*
|
||||
* @return A CharacterStyle
|
||||
*
|
||||
* @see Color#getHtmlColor(String)
|
||||
* @see Color#parseColor(String)
|
||||
*/
|
||||
private static CharacterStyle getColor(String color, boolean foreground) {
|
||||
int c = 0xff000000;
|
||||
@ -336,7 +336,11 @@ final class StringBlock {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
c = Color.getHtmlColor(color);
|
||||
try {
|
||||
c = Color.parseColor(color);
|
||||
} catch (IllegalArgumentException e) {
|
||||
c = Color.BLACK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user