Quero criar uma caixa de diálogo personalizada como abaixo
Eu tentei as seguintes coisas.
Criei uma subclasse de AlertDialog.Builder e usei uma exibição personalizada de título e conteúdo personalizado e usei isso, mas o resultado não foi o esperado.
Outra tentativa foi subclassificar DialogFragment e personalizar a caixa de diálogo dentro de onCreateDialog que, mas o resultado não foi o esperado.
Então eu tentei usar uma classe Dialog simples . O resultado não foi o esperado.
Nos três casos, o problema é que, quando ignoro a exibição do título, o tamanho da caixa de diálogo não é o esperado e, quando uso a exibição do título, o resultado é que existe uma borda grossa em torno da exibição do conteúdo (o que realmente parece ruim). Agora eu tenho duas perguntas em mente ...
Como posso conseguir isso? Como eu já tentei muitas coisas, uma resposta direta será mais apreciada.
Qual é a melhor maneira de mostrar uma caixa de diálogo de erro ou alerta em um aplicativo Android?
A EDIT Android Developer Documentation recomenda que você use DialogFragments ou Dialogs para mostrar mensagens de erro / alerta ao usuário. No entanto, em um ponto eles dizem ...
Dica: Se você quiser uma caixa de diálogo personalizada, poderá exibir uma Atividade como uma caixa de diálogo em vez de usar as APIs da caixa de diálogo. Simplesmente crie uma atividade e defina seu tema como Theme.Holo.Dialog no elemento manifesto.
Qual é o significado disso? Não é demais usar uma Atividade apenas para mostrar uma mensagem de erro ???
Respostas:
Aqui eu criei um diálogo simples, como:
custom_dialog.xml
Você tem que
extends Dialog
eimplements OnClickListener
Como ligar para o diálogo?
Atualizações
Depois de muito tempo, um dos meus amigos me pediu para fazer um diálogo de forma curva com fundo transparente. Então, aqui eu implementei.
Para criar uma forma curva, é necessário criar uma separada,
curve_shap.XML
como abaixo,Agora, adicione isso
curve_shap.XML
na sua exibição principal Layout. No meu caso eu useiLinearLayout
Como chamar isso?
Espero que funcione para você.
fonte
R.id.TXT_Exit:
?Este é um exemplo de diálogo, crie com xml.
o próximo código xml é apenas um exemplo, o design ou a visualização é implementada aqui:
estas linhas de código são recursos de drawable:
você poderia fazer uma classe estender o Dialog, também algo como isto:
finalmente, a forma de chamada, em sua atividade, por exemplo:
Espero que funcione para você.
fonte
Outra maneira fácil de fazer isso.
Etapa 1) Crie um layout com os IDs adequados.
passo 2) use o seguinte código onde desejar.
fonte
Adicione o tema abaixo em
values -> style.xml
Use este tema no seu
onCreateDialog
método como este:Defina o layout da caixa de diálogo, incluindo a barra de título no arquivo xml e defina esse arquivo xml assim:
fonte
mdialog.findViewById(R.id.element);
Simples primeiro crie uma classe
então crie um custom_dialogbox_otp
em seu drawable, crie abaixo de arquivos xml.
para round_layout_white_otp.xml
para round_layout_otp.xml
round_button
Finalmente, use o código abaixo para visualizar sua caixa de diálogo :)
sua saída :)
fonte
fonte
Maneira mais simples de criar caixa de diálogo personalizada:
Inicialize e mostre o diálogo:
Criar método:
Crie XML de layout que você deseja ou precisa.
fonte
Você pode tentar esta biblioteca pop-up de diálogo android simples para cortar o código de diálogo confuso. É muito simples de usar em sua atividade. Depois disso, você pode ter esse código em sua atividade para mostrar o diálogo
onde R.layout.custom_pop é seu layout personalizado da maneira que você deseja decorar sua caixa de diálogo.
fonte
Eu achei isso como a maneira mais fácil de mostrar diálogos personalizados.
Você tem layout
your_layout.xml
fonte
Criar layout de alerta personalizado custom_aler_update.xml
Copie este código para Atividade:
Copie este código para estilizar:
fonte
A maneira mais simples de alterar a cor do plano de fundo e o estilo do texto é criar um tema personalizado para a caixa de diálogo de alerta do Android, conforme abaixo: -
: Basta colocar o código abaixo em styles.xml:
: Agora que a personalização está concluída, agora basta aplicar ao seu objeto alertBuilder:
Espero que isso ajude você!
fonte
Classe de caixa de diálogo de alerta personalizado em tela cheia no Kotlin
Crie um arquivo XML, da mesma forma que faria com uma atividade
Criar classe personalizada AlertDialog
Chame o diálogo dentro da atividade
Nota **: Se você não deseja que sua caixa de diálogo seja exibida em tela cheia, exclua as seguintes linhas
Em seguida, edite a largura do layout e o layout do seu layout superior no seu arquivo XML para que seja wrap_content ou um valor DP fixo.
Geralmente, eu não recomendo o uso de DP fixo, pois você provavelmente deseja que seu aplicativo seja adaptável a vários tamanhos de tela; no entanto, se você mantiver seus valores de tamanho pequenos o suficiente, ficará bem
fonte
Criar alerta Layout da caixa de diálogo, algo como isto
e adicione o código abaixo na sua classe de atividade
fonte
É uma classe para o Alert Dialog, para que você possa chamar a classe de qualquer atividade para reutilizar o código.
O arquivo XML para o mesmo é:
fonte
O Fragmento de Caixa de Diálogo é a maneira mais simples de criar uma Caixa de Diálogo de Alerta personalizada. Siga o código acima para criar uma exibição personalizada para sua caixa de diálogo e implementá-la usando o Fragmento de Caixa de Diálogo. Adicione o seguinte código ao seu arquivo de layout:
fonte
Caixa de diálogo Criar alerta personalizado
cumstomDialog.xml
Mostre sua caixa de diálogo personalizada em sua atividade:
Ligue assim:
showDialog ("Título", "Mensagem", R.drawable.warning);
fonte
Estou postando o código kotlin que estou usando e funciona bem para mim. você também pode definir o ouvinte de clique para os botões da caixa de diálogo.
este é o meu código XML:
layout_custom_alert_dialog.xml
mAlertDialog.kt
interface para ouvintes de clique:
onClickListener.kt
Uso da amostra
Eu espero que isso te ajude!
fonte
Eu gosto de usar a biblioteca tcAron. (Faça o download aqui: https://github.com/triocoder/tcAron )
classe de importação:
import com.triocoder.tcaron.tcaronlibrary.tcAronDialogs;
escreva isso:
tcAronDialogs.showFancyAlert (MainActivity.this, false, "Text", "Close", "ic_hub_white", 0xFFF44336);
verifique a documentação:
https://github.com/triocoder/tcAron/wiki/showFancyAlert
fonte
A seguir, está o código para criar a caixa de diálogo de exibição personalizada com o kotlin. A seguir está o arquivo de layout da caixa de diálogo
criando diálogo e atualizando o texto na visualização de texto
fonte
Aqui está uma maneira muito simples de criar uma caixa de diálogo personalizada.
dialog.xml
MainActivity.java
fonte
Importar alerta personalizado:
fonte