看看android支持库,我看到了一些我无法理解为什么会这样做的事情:
/**
* Simple gravity to string - only supports LEFT and RIGHT for debugging output.
*
* @param gravity Absolute gravity value
* @return LEFT or RIGHT as appropriate, or a hex string
*/
static String gravityToString(int gravity) {
if ((gravity & Gravity.LEFT) == Gravity.LEFT) {
return "LEFT";
}
if ((gravity & Gravity.RIGHT) == Gravity.RIGHT) {
return "RIGHT";
}
return Integer.toHexString(gravity);
}
请有人解释我。
答案 0 :(得分:1)
&安培;代表按位AND。
示例:
1100110& 1100110 = 1100110
在此您传递gravity
作为参数。例如,如果您想知道重力是否存在,则将掩码Gravity.LEFT
应用于您传递的参数。如果它等于常数,则返回重力遗留。
它对Gravity.RIGHT
应用相同的内容,否则如果你不在这两种情况下,它会返回另一个值。