Here is the logic:
The value of the color in hex is FF000000 (255 alpha, 0 rgb). This value in decimal is 4278190080. In YAIL, the values are stored as long (64-bit) or Java Bignums (if they're larger than 2^63), which can represent this large positive value. However, when the value is passed to the Android runtime, it is passed as a Java int, which is a signed 32-bit value. When FF000000 is interpreted as a 32-bit signed integer, it's value is -16777216.
So at the bit representation they are equivalent, it's all in how the bits are interpreted.