Soy bastante nuevo en el desarrollo de Android y he creado mi primera aplicación "real" que hace lo siguiente:
- Lanza MainActivity
MainActivity procesa datos adicionales y luego muestra uno
ViewDialog
que se extiendeDialog
.ViewDialog
tiene unshowDialog()
método que hace lo siguiente para configurar y mostrarDialog
:protected void showDialog(final Activity activity) { dialog = new Dialog(activity); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setCancelable(false); dialog.setContentView(dialog_layout); // Set background color of the dialog ConstraintLayout currentLayout = (ConstraintLayout) dialog.findViewById(R.id.Dialog); // setup of views etc ... // Finally dislay `Dialog` dialog.show(); // Method called to start a `DialogTimer` which extends `CountDownTimer` }
MainActivity muestra lo
ViewDialog
siguiente:public class MainActivity extends AppCompatActivity { private static Context appContext; private static ViewDialog notify; protected void onCreate(Bundle savedInstanceState) { // methods and processing etc... // time to display dialog notify = new ViewDialog(mParameters, mThemeHandler ); // ******************** Show dialog box ******************* notify.showDialog(activity: this); // showDialog just calls `Dialog.show()` notify.ApplyTheme(); }
Cuando el temporizador expira o el usuario presiona un botón,
ViewDialog
se cierra y la aplicación finaliza con el siguiente código:mButton1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { CancelTimer(); activity.finishAndRemoveTask(); dialog.dismiss();
El problema es que cuando ViewDialog
se descarta, ocasionalmente puedo ver lo que parece un mensaje que muestra las actividades android:label
que se configuran en el archivo AndroidManifest.
Video de lo que esta sucediendo
No estoy seguro de por qué sucede esto, pero supongo que muestra algún elemento del MainActivity
diseño cuando se ViewDialog
cierra y usa su propio dialog_layout
archivo de diseño.
He jugueteado con tantas cosas diferentes y he cambiado códigos / diseños, etc. y no he podido encontrar mi error.
¿Cuáles son algunos consejos y sugerencias que me ayudarán a solucionar esto? Me complace proporcionar más detalles si es necesario.
El diseño y los archivos de manifiesto están aquí:
- manifiesto https://pastebin.com/GL70FxGh
- activity_main.xml https://pastebin.com/qDVa0LrN
- dialog_layout.xml https://pastebin.com/RC4e6W9T
fuente
Respuestas:
Puede lograr esto configurando el atributo android: theme en @android: style / Theme.NoTitleBar en su elemento en su AndroidManifest.xml de esta manera:
fuente
El código que ha publicado no es suficiente para descubrir por qué sucede esto, pero hay una solución universal para no ver el título de la Actividad (que se establece en el campo de etiqueta del manifiesto).
Declare en su styles.xml un nuevo tema como
y luego haz que sea el tema de tu actividad como esta
Si bien no estoy 100 por ciento seguro (porque este comportamiento puede modificarse en un código real de su actividad), creo que podría ayudar.
Espero que sea de ayuda.
fuente
setTitle()
una cadena muy larga, pude ver muy claramente que el pequeño mensaje de "tostada" que se muestra cuando se cierra el diálogo es el título de la actividad principal. Voy a vincular a un video que muestra lo que está sucediendo pronto.Resulta que si cambio:
a
El problema desaparece. No sé por qué, pero lo tomaré.
fuente
fuente