Criando e usando Dialog em Android

Muitas vezes é preciso criar uma modal ou dialog em aplicativos Android, isso é uma prática frequente até pelo tamanho de telas serem reduzidos.

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Android - TUTORIAL

Última atualização em: | 5543 Visualizações

Criando e usando Dialog em Android

Neste artigo será mostrado como criar uma Dialog em Android de maneira simples.

Criando uma Dialog Simples

As Dialogs no Android são importantes e frequentes utilizadas nos aplicativos, sempre que necessário podem ser criadas com interfaces distintas. Para uma Dialog pode ser criada uma interface como uma interface de um activity, em xml.

O exemplo que será apresentado utiliza uma interface construída em um arquivo de layout xml, contendo um campo para digitação e um botão, que ao ser pressionado mostra o valor do campo em um Toast, que é uma forma simples e nativa para apresentar informações. Segue os arquivos;

O layout: dialog_informacao.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#F5F5F5">
 
    <EditText android:id="@+id/editTextNome" android:hint="Informe seu nome" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dp"/>
    <Button android:layout_marginBottom="20dp" android:id="@+id/buttonContato" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="MOSTRAR VALOR DO CAMPO"/>
 
</LinearLayout>

A classe da Dialog: InformacaoDialog.java

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
import br.com.garbosoftware.R;
 
public class InformacaoDialog extends Dialog {
 
    private EditText editTextNome;
 
    public InformacaoDialog(Context context) {
        super(context);
    }
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.dialog_informacao);
        editTextNome = (EditText) findViewById(R.id.editTextNome);
 
        Button buttonContato = (Button) findViewById(R.id.buttonContato);
        buttonContato.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(), editTextNome.getText().toString(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Para quem já conhece de Android, não precisa de explicações aprofundas, por ser de certa forma simples. Para quem não conhece muito de Android, entenda o código.

A primeira coisa a se fazer é estender a classe Dialog, após precisamos criar o método principal passando o Contexto e chamar o super da classe pai (Dialog), o restante do código fica a cargo do método onCreate que deve ser sobreescrito e neste método informamos o layout com setContentView, a partir deste ponto é criado o vinculo entre os elementos e programado o evento de click no botão.

Para mostrar a Dialog a partir de qualquer activity, pode utilizar o seguinte código:

new InformacaoDialog(this).show();

Onde thisserá o contexto da activity ou fragment.

Utilizar dialogs em Android é um processo simples e muito util para resolver alguns problemas do dia a dia do programador. Este foi um simples exemplo, porém é possível criar layouts muito mais complexos.


Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!