15

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

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

今ではこのように見えます:- ここに画像の説明を入力してください

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

ここに画像の説明を入力してください

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

前もって感謝します。

4

3 に答える 3

48

以下のコードに従って、私は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;
            }

        }
    });
}

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

于 2012-03-13T13:50:44.190 に答える
14

フルスクリーンを無効にするには:

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();

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

于 2012-03-13T13:08:24.547 に答える
0

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

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

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

于 2013-11-29T11:22:25.087 に答える