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.
Última atualização em: | 5543 Visualizações
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 this
será 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.