2011-12-24 18 views
13

Estoy haciendo una pantalla de bloqueo personalizada.La actividad transparente de pantalla completa (sin título y barra de estado) no funciona ... ¿por qué?

La pantalla de bloqueo es una actividad que inicio cuando se apaga la pantalla.

Sin embargo, no puedo hacer que la actividad sea transparente & a pantalla completa.

La barra de estado sigue apareciendo.

Aquí es lo que hago en el manifiesto:

<activity android:name=".activities.LockScreenActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/> 

También estoy añadiendo estos extras en onCreate de activit:

requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.lock_screen); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 

Pero parece que no puede trabajar: |

¿por qué?

Respuesta

40

elimine el código de onCreate(). usa esto en Manifestfile.

android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" 

De lo contrario, cree el tema de acuerdo a sus necesidades.

+1

no funciona mi amigo .. ¿cómo es diferente de ? – dor506

+0

mejor usar translúcido y nototlebar. –

+0

No estoy seguro de que te sigo. Como dije, escribí en el manifiesto android: theme = "@ android: style/Theme.Translucent.NoTitleBar.Fullscreen" y me dijiste que usara esto en onCreate: setTheme (android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); . Corrígeme si estoy equivocado, pero ¿no es lo mismo? – dor506

3

Es necesario configurar las banderas antes setContentView, que debería funcionar bien entonces

requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 

setContentView(R.layout.lock_screen); 
0

Aquí es que link (ocultar la barra de estado en Android 4.1 y superior).

View decorView = getWindow().getDecorView(); 
// Hide the status bar. 
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; 
decorView.setSystemUiVisibility(uiOptions); 
// Remember that you should never show the action bar if the 
// status bar is hidden, so hide that too if necessary. 
ActionBar actionBar = getActionBar(); 
actionBar.hide(); 

ocultar la barra de estado en Android 4.0 y Baja:

<application 
    ... 
    android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" > 
    ... 
</application> 

@Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
     super.onCreate(savedInstanceState); 
 
     // If the Android version is lower than Jellybean, use this call to hide 
 
     // the status bar. 
 
     if (Build.VERSION.SDK_INT < 16) { 
 
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
 
        WindowManager.LayoutParams.FLAG_FULLSCREEN); 
 
     } 
 
     setContentView(R.layout.activity_main); 
 
    }

Cuestiones relacionadas