Quero mostrar ao android Snackbar
(android.support.design.widget.Snackbar)
quando a atividade começa, assim como mostramos a Toast
.
Mas o problema é que temos que especificar o layout pai ao criar Snackbar
assim:
Snackbar.make(parentlayout, "This is main activity", Snackbar.LENGTH_LONG)
.setAction("CLOSE", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
})
.setActionTextColor(getResources().getColor(android.R.color.holo_red_light ))
.show();
Como dar o layout pai quando mostramos Snackbar
no início da atividade sem nenhum evento de clique (se fosse um evento de clique, poderíamos facilmente passar pela visualização pai)?
android
material-design
android-snackbar
Sudheesh Mohan
fonte
fonte
Respostas:
Basta apontar para qualquer
View
dentro doActivity's
XML. Você pode fornecer um id ao viewGroup raiz, por exemplo, e usar:fonte
findViewById(android.R.id.content)
conforme indicado aqui stackoverflow.com/a/4488149/1518546Eu tive problemas para exibir o Snackbar até agora. Esta é a maneira mais simples de exibir um Snackbar. Para exibi-lo como seu início de atividade principal, basta colocar essas duas linhas dentro de
OnCreate()
PS Apenas certifique-se de ter importado o Android Design Support (conforme mencionado na pergunta).
Para Kotlin,
fonte
fonte
fonte
Uma função utils para show lanchonete
Exemplo usando em atividade
Exemplo usando em Fragment
Espero que ajude
fonte
Você pode experimentar esta biblioteca. Este é um wrapper para snackbar padrão do Android. https://github.com/ChathuraHettiarachchi/CSnackBar
Este contém vários tipos de snackbar e até mesmo um snackbar integrado de visualização personalizada
fonte
Isso pode ser feito simplesmente usando os seguintes códigos dentro de onCreate. Usando o layout padrão do Android
fonte
getWindow().getDecorView()
retornar de repente a tela TODA, incluir 'botões inferiores' (como home, back etc). Então, meu lanche estava aparecendo nestes botões, não no appwindow
paraandroid.R.id.content
todos começar a trabalhar. Então, escrevi meu comentário para resolver o problema de outra pessoa com ele no futuro)Você também pode definir uma superclasse para todas as suas atividades e encontrar a visualização uma vez na atividade pai.
por exemplo
AppActivity.java:
e seus lanches ficariam assim em todas as atividades em seu aplicativo:
É melhor para o desempenho que você encontre a visualização uma vez para cada atividade.
fonte