web-dev-qa-db-ja.com

androidフルスクリーンモードを終了する

私はAndroidで働いています。フルスクリーンモードでアクティビティを表示する必要があります。これは、次のコードを使用して行いました。

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);

今ではこのように見えます:- enter image description here

このフルモードを終了して、アクティビティが以前と同じように表示されるようにします。このような:-

enter image description here

フルモードと通常モードを切り替えるためのボタンがあります。モードを何度も切り替えます。どうすればこれができるか教えてください。全画面から通常の画面を取得する方法を意味します。

前もって感謝します。

14

以下のコードに従って、必要に応じてTitleBarを非表示にできます。

Button full;
static int vari = 0;

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    full = (Button)findViewById(R.id.fullview);
    full.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(vari == 0)
            {
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
                getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
                vari = 1;
            }else 
            {
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
                getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);                 
                vari = 0;
            }

        }
    });
}

このコードを試してください。それはあなたを大いに助けます。

40
Praveenkumar

全画面表示を無効にするには:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
ActivitiesCurrentContentView.requestLayout();

フルスクリーンを再度有効にするには:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
ActivitiesCurrentContentView.requestLayout();

あなたの場合の鍵は、レイアウトを再要求することだと思います。

12
bbedward

ICSフラグメントがアクティビティにアタッチされると、フルスクリーンモードがリセットされます。最良のアプローチは、コードを追加することです。

getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); getActivity().findViewById(R.id.root).setSystemUiVisibility(View.STATUS_BAR_HIDDEN);

フラグメントのonActivityCreatedのコールバック内(レイアウトID rootはアクティビティのルートレイアウトです)。

0
Dekra