Sou bastante novo no desenvolvimento do Android e criei meu primeiro aplicativo "real" que faz o seguinte:
- Lança MainActivity
MainActivity processa Dados Extra e exibe um
ViewDialog
que se estendeDialog
.ViewDialog
possui umshowDialog()
método que faz o seguinte para configurar e exibir oDialog
: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 mostra o
ViewDialog
seguinte: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(); }
Quando o cronômetro expira ou o usuário pressiona um botão, ele
ViewDialog
é fechado e o aplicativo é finalizado com o seguinte código:mButton1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { CancelTimer(); activity.finishAndRemoveTask(); dialog.dismiss();
O problema é que, quando o ViewDialog
item é descartado, ocasionalmente posso ver o que parece ser uma mensagem que está exibindo as atividades android:label
configuradas no arquivo AndroidManifest.
Não sei por que isso acontece, mas presumo que ele esteja exibindo algum item do MainActivity
layout quando o ViewDialog
fechamento usar seu próprio dialog_layout
arquivo de layout.
Eu brinquei com tantas coisas diferentes e mudei o código / layouts etc. e não consegui encontrar meu erro.
Quais são algumas dicas e sugestões que me ajudarão a corrigir isso? Fico feliz em fornecer mais detalhes, se necessário.
Os arquivos de layout e manifesto estão aqui:
- manifesto https://pastebin.com/GL70FxGh
- activity_main.xml https://pastebin.com/qDVa0LrN
- dialog_layout.xml https://pastebin.com/RC4e6W9T
fonte
Respostas:
Você pode conseguir isso definindo o atributo android: theme como @android: style / Theme.NoTitleBar no seu elemento no seu AndroidManifest.xml, como este:
fonte
O código que você postou não é suficiente para descobrir por que isso está acontecendo, mas há uma solução universal para não ver o Título da Atividade (que é definido no campo do manifesto do rótulo).
Declare em seu styles.xml um novo tema como
e depois disso, faça com que seja o tema da sua atividade como este
Embora eu não tenha 100% de certeza (porque esse comportamento pode ser alterado em um código real de sua atividade), acho que pode ajudar.
Eu espero que isso ajude.
fonte
setTitle()
uma string muito longa, pude ver muito claramente que a pequena mensagem como "brinde" exibida quando a caixa de diálogo fecha é o título da atividade principal. Vou linkar para um vídeo mostrando o que está acontecendo em breve.Acontece que se eu mudar:
para
o problema desaparece. Não sei por que, mas eu aceito.
fonte
fonte