我经常看 API 说 android api,你可以在参数之间添加一个管道来组合它们。说 *CENTER_VERTICAL|CENTER_HORIZONTAL*。这是怎么做的?谁能给我看一个例子,我可以将多个参数传递给如上链接的函数?我如何阅读它们?
亲切的问候
竖线实际上是按位或,因此该方法仅在参数是“标志”或位字段时才有效。
例如
private static final int FLAG1 = 0x01;
private static final int FLAG2 = 0x02;
callFunc(FLAG1|FLAG2); // (passes 0x03)
如果 args 只是“任何旧的 int”,它可能不会像你想的那样:
例如
callFunc(0x03|0x01); // passes 0x03 - so the 0x01 does nothing.
这就像我想要的。找到了答案,所以我想我会回答我自己的问题。
public static final int a=1
public static final int b=2;
public static final int c=4;
public static final int d=8;
myfunction(a|b);
myfunction(int x)
{
if((a&x)==a)
{
//Do whatever a stands for, and so on.
}
if((b&x)==b)
{
}
if((c&X)==c)
{
}
if(d&x))==d)
{
}
}
}