0

現在、フルスクリーンでアプリケーションを非表示にして表示しようとしています。Eclipse テンプレートに従って、新しい FullScreenActivity を開始しました。

これは、ActionBar + NotificationBar を表示/非表示にするために使用するコードです。

public void hide() {
    if ((mFlags & FLAG_FULLSCREEN) != 0) {
        mActivity.getSupportActionBar().hide();
        mActivity.getWindow().setFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

    }
    mOnVisibilityChangeListener.onVisibilityChange(false);
    mVisible = false;
}

public void show() {
    if ((mFlags & FLAG_FULLSCREEN) != 0) {
        mActivity.getSupportActionBar().show();         
        mActivity.getWindow().setFlags(0,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);            
    }
    mOnVisibilityChangeListener.onVisibilityChange(true);
    mVisible = true;
}

それはちょっとうまくいきますが、私の大きな問題は、アクションバーが通知と重なっているということです:

ここに画像の説明を入力

何が間違っているかについて何か考えはありますか?

4

1 に答える 1

0

自己回答:

テンプレートで自動的に生成された次の行を削除する必要がありました。

    if ((mFlags & FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES) == 0) {
        mActivity.getWindow().setFlags(
                WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
                        | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
                WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
                        | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
    }
于 2013-01-16T21:06:39.397 に答える