2012-01-26 21 views
8

onCreateメソッド(setContentViewより前)でのみ、アクティビティをフルスクリーンに設定できますか?全画面設定onCreate

onCreateの外でフルスクリーンに設定する方法はありますか?

おかげ

+1

が重複する可能性を(http://stackoverflow.com/questions/2868047/fullscreen-activity-in-android) –

+0

なし、コード内に設定したい – fsilvestre

+0

Marek Seberaのコメントとそのリンクを参照してください...答えは双方向(プログラムと非プログラム)に与えられます –

答えて

12

可能です!このコードを追加する。

 

    // go full screen 
    WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes(); 
    attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; 
    mActivity.getWindow().setAttributes(attrs); 

    // go non-full screen 
    WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes(); 
    attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    mActivity.getWindow().setAttributes(attrs); 

+1

これは 'setContentView(...)の後では動作しません。 – neworld

+0

は私にとって非常にうまくいきます – fsilvestre

1

Window.requestFeatureのためのドキュメントは言う:

これはsetContentView(前に呼び出す必要があります)。

いいえ、setContentViewに電話した後にフルスクリーンに設定する別の方法はないと思います。

+0

好きな方は、 'setContentView'を' onCreate'の外でもう一度呼び出すことができます。あなたが持っているビューへの参照を無効にするので、それぞれのViewリファレンスの後に 'findViewByID'をもう一度呼び出す必要があることに注意してください。 –

+0

Martin、もう1つのメソッドでフルスクリーンを設定し、もう一度setContentViewを呼び出してみましたが、例外が発生しました:コンテンツを追加する前にrequestFeature()を呼び出さなければなりません – fsilvestre

+0

'setContentView'を呼び出さない* 'onCreate'を呼び出し、' requestFeature'を呼び出す場所の後でそれを呼び出すだけですが、 'setContentView'を呼び出すと上記が適用されます。 – kabuko

-1
@Override 

protected void onCreate(Bundle savedInstanceState) { 

// TODO Auto-generated method stub 

super.onCreate(savedInstanceState); 

    **requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);** 

    setContentView(R.layout.activity); 

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

使用このあなたがフルスクリーンにあなたのレイアウトを設定しようとしている.Becauseレイアウトを設定する前に。なぜあなたは作成メソッドの外に必要なのですか? ...

0

はこれを試してみてください:[?アンドロイドで全画面アクティビティー]の

View decorView = getWindow().getDecorView(); 

int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; 
decorView.setSystemUiVisibility(uiOptions);