Criando e usando Dialog em Android

Postado em por Wolmir Cezer Garbin em Android | 70 Visualizações
Última atualização em:

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

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.

Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

Posts relacionados


Code Conference

Esta é uma conferência de código realizada na cidade de Pato Branco para dissiminar tendências e informações sobre programação e novas tecnológias

Veja mais sobre o Code Conference

Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar