通知領域が画面の上部にあるのか、右下隅にあるのか(ほとんどのタブレットのように)プログラムで検出する方法はありますか?通知領域の位置を検出する方法は?
7
A
答えて
4
通知は常にsw600
デバイス用除いて、ディスプレイの上部に25dp-トールステータスバーにが示されている(すなわち、任意の方向における最小幅が600dpである。詳細はthis blog post参照)APIレベルに11(Honeycomb)〜16(Jelly Bean pre-MR1)。これらのデバイスには、ディスプレイの下部に48dpの高さの "結合されたシステムバー"があります。
これを確認する最も簡単な方法は、認定資格によるものです。つまり、トップステータスバーを想定したレイアウトをlayout/foo.xml
に配置し、次にボトムシステムバーのバージョンをlayout-sw600dp/foo.xml
に設定します。最後に、これらの大型デバイスはAndroid 4.2(API 17)のトップステータスバーを使用するため、layout-sw600dp-v17/foo.xml
のトップステータスバーに戻す必要があります。
あなただけの、ステータスバーが一番上にあるかどうかを教えてくれvalues
で上記の例ではlayout
を交換し、values-sw600dp
場合を除いて真であることに<bool>
を配置しますブール値をしたい場合。
これは良い質問ですが、なぜですか?あなたはこの知識をもってどんな悪意を持っていますか? :-p – AedonEtLIRA
注:Nexus 7はタブレットであり、右下ではなく、上に沿って通知されています。 – FoamyGuy
@FoamyGuy Go一貫性! – AedonEtLIRA