studio programacion herramientas fundamentos con avanzado aplicaciones android dialog

programacion - Android hace que Dialog a pantalla completa con la barra de estado que muestra



manual de android en pdf (3)

Quiero hacer un cuadro de diálogo con pantalla completa pero sin ocultar la barra de estado.

Si usa el estilo Theme_Light_NoTitleBar_Fullscreen , el cuadro de diálogo ocupa toda la pantalla.

Si usa el estilo Theme_Material_Light_NoActionBar_TranslucentDecor , parece funcionar, pero la parte superior del cuadro de diálogo se está volviendo transparente. Puedo mejorar investigando la altura de la barra de estado y agregando el relleno superior a mi diseño de diálogo. Esta solución parece funcionar bien, excepto que no funciona si adjunto una animación a ella.

Estoy muy confundido sobre por qué Google hace que el cuadro de diálogo sea tan complicado de usar, y si lo estoy haciendo correctamente para hacer un cuadro de diálogo de pantalla completa aquí?


He encontrado un snipplet de un blog, después de algunos intentos, he encontrado que tengo que usar Theme_Black_NoTitleBar_Fullscreen en el constructor, junto con el snipplet durante onCreate . ahora mi cuadro de diálogo es a pantalla completa y muestra la barra de estado.

public YourCustomDiag(Activity act){ //step 1, required. to stretch the dialog to full screen super(act, android.R.style.Theme_Black_NoTitleBar_Fullscreen); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.custom_dialog_layout); KeepStatusBar(); } //step 2, required private void KeepStatusBar(){ WindowManager.LayoutParams attrs = getWindow().getAttributes(); attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN; getWindow().setAttributes(attrs); }

esta es la fuente donde encontré el snipplet


Solo use THEME_BLACK_NoTitleBar ¡¡ Funcionó para mí !!!


Use android.R.style.Theme_Black_NoTitleBar Funciona para mí.

AlertDialog.Builder builder = new AlertDialog.Builder(context, android.R.style.Theme_Black_NoTitleBar);

Pantalla de ejemplo