Fiz um simples AlertDialog
em minha atividade :
View view = layoutInflater.inflate(R.layout.my_dialog, null);
AlertDialog infoDialog = new AlertDialog.Builder(MyActivity.this)
.setView(view)
.create();
infoDialog.show();
Com o código acima, a caixa de diálogo é exibida no (cerca) centro da tela.
Estou me perguntando, como posso personalizar a posição da caixa de diálogo para torná-la exibida logo abaixo da barra de ação superior? (Existe alguma maneira de mudar a gravidade ou algo do diálogo?) E como fazer isso baseado no meu código ??
Respostas:
Usei este código para mostrar a caixa de diálogo na parte inferior da tela:
Esse código também evita que o Android esmaeça o plano de fundo da caixa de diálogo, se necessário. Você deve ser capaz de alterar o parâmetro de gravidade para mover o diálogo sobre
fonte
wlp.x
ewlp.y
para definir explicitamente a localização da caixa de diálogo na tela. Eu não tentei sozinho, mas provavelmente deve funcionar.você pode personalizar seu diálogo com base na gravidade e os parâmetros de layout alteram a gravidade e o parâmetro de layout com base em suas necessidades
fonte
'FILL_PARENT'
está obsoleto. Estou na API 21. Conforme Referência do DesenvolvedorEncontrei este snippet de código do código @gypsicoder aqui
Aqui, o valor da posição x é pixels da esquerda para a direita. Para a posição y, o valor é de baixo para cima.
fonte
Para mim, isso funcionou muito bem onde eu estava tentando posicionar meu diálogo em algum lugar exatamente na parte inferior da visualização de texto onde ele é selecionado.
fonte
Novo
BottomSheetDialog
:fonte
basta adicionar ao seu código:
fonte
fonte
Para minha atividade do Dialog, usei este:
fonte
eu uso este método
fonte
use bottomSHeet:
fonte
fonte