2012-01-26 19 views
8

Posso solo impostare la mia attività a schermo intero nel metodo onCreate (prima di setContentView)?Imposta schermo intero suCreate

C'è un modo per impostare a schermo intero al di fuori di onCreate?

Grazie

+1

possibile duplicato (http://stackoverflow.com/questions/2868047/fullscreen-activity-in-android) –

+0

no, Voglio impostare nel codice – fsilvestre

+0

bene vedere commento Marek Sebera e il link in esso ... la risposta è data per entrambi i modi (programmatico e non programmatico) –

risposta

12

È possibile! Aggiungere questo codice

 

    // 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

Questo non funziona dopo 'setContentView (...)' – neworld

+0

per me funziona molto bene – fsilvestre

1

la documentazione per Window.requestFeature dice:

Questo deve essere chiamato prima setContentView().

quindi no, non credo che ci sia un altro modo per impostare a schermo intero dopo aver chiamato setContentView.

+0

Puoi chiamare 'setContentView' una seconda volta al di fuori di' onCreate', se lo desideri, così finché lo chiami dopo aver richiesto la funzione a schermo intero va bene. Tieni presente che invaliderà qualsiasi riferimento alle Visualizzazioni che hai, quindi dovrai chiamare di nuovo 'findViewByID' dopo per ogni riferimento View. –

+0

Martin, provo a usare requestFeature() per impostare fullscreen in un altro metodo e codice sotto una chiamata setContentView di nuovo, ma si è verificata un'eccezione: requestFeature() deve essere chiamata prima di aggiungere contenuto – fsilvestre

+0

Puoi provare * not * chiamando 'setContentView' ancora in 'onCreate' e lo chiama solo dopo il punto in cui si desidera chiamare' requestFeature', ma dopo aver chiamato 'setContentView' si applica quanto sopra. – 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); 

Utilizzare questo prima di impostare il layout .Perché si sta cercando di impostare il layout in fullscreen. Perché è necessario al di fuori di creare un metodo? ...

0

Prova questa: [? Attività FullScreen in Android]

View decorView = getWindow().getDecorView(); 

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