Inroid API View.setSystemUiVisibility()
は、さまざまな表示装飾の可視性を変更するために使用されます。
フラグを使用してさまざまな機能を選択できます。
異なるフラグは異なる意味を持ち、公式ドキュメント:setSystemUiVisibilityに詳細に記載されています。
ビット単位の操作に精通していない場合は、最初にthisにスキミングしてください。
この表記は、単一のマシン語で「設定」を符号化するために使用される非常に一般的な技術である。
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE
数学
OR-INGのためのユニークな値を生成する1ビットのみが設定されている機械語を2つのユニークなオペランドごとに。したがって、コンポジット値がある場合は、常にを分解して、を生成して元の値に戻すことができます。ビットはオフセットする必要があります。そうしないと、元の値を抽出する方法がありません。
ビットが1つのみの2つのバイナリ値が0001
と0010
の場合、OR演算するとバイナリ値0011
が生成されます。これで、その機械語を周囲に渡すことができ、必要に応じて元の2つの値に戻すことができます。
:あなたは
android docsを開くと
int FLAG1 = 0x1; //0001
int FLAG2 = 0x2; //0010
int FLAG3 = 0x4; //0100
// combine using OR
int flags = FLAG1 | FLAG3; //==0101 (5)
// using + is possible as well but can lead to errors:
// flags += FLAG1
// flags now is 0110 but you didn't mean to enable FLAG2
...
// remove a flag
flags &= ~FLAG1;
// toggle a flag
flags ^= FLAG3
// decompose
if(flags & FLAG1)
{
//we know flag1 was set.
}
再びあなたはそれがすべてのフラグ16進で一定の値に言及していることがわかります。
wikipedia記事次の作品がどのように理解することができるはず読んだ後
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
...
定数値:私は上記のように、これらが使用されている512(0x00000200)
SYSTEM_UI_FLAG_LAYOUT_STABLE = 0x00000100 (256)
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION = 0x00000200 (512)
:value | FLAG
要求いくつかの特徴は、value & ~FLAG
はvalue^FLAG
トグルそれ、それをオフにします。
あなたが設定したフラグに基づいて、アンドロイドコードの合成値の深部が分解され、さまざまな機能が有効または無効になります。
OR。意味の追加。 –