You are on page 1of 14

ALERT DIALOG COM BOTÕES

Programação para
Dispositivos Móveis I
Professor Diego de Carvalho Neves da Fontoura

ANDRÉ ROSA SILVEIRA


JOSÉ MEINARDO
GIOVANI
ALERTDIALOG

uma Classe que herda os métodos e atributos da Classe Dialog e que implementa os métodos
da Classe Dialogo Interface.

classe AlertDialog permite criação da Caixas de Diálogo com mensagens com textos(que usamos até
gora na disciplina) ou com entre 1 e 3 botões.

s caixas de diálogo são pequenas janelas que levam o usuário a tomar uma decisão ou inserir
nformações adicionais. Elas não ocupam toda a tela e são normalmente usadas para eventos modais que
xijam que usuários realizem uma ação antes de continuar.

3
classe AlertDialog permite a criação de diversos projetos de caixa de diálogo e normalmente é a
ica classe de caixa de diálogo necessária. Como ilustrado na figura 2, há três regiões de uma
xa de diálogo de alerta:

Título
opcional e deve ser usado somente quando a área do conteúdo estiver ocupada por uma
ensagem detalhada, uma lista ou layout personalizado. Se for necessário declarar uma mensag
pergunta simples. O título não é necessário.

Área do conteúdo
de exibir uma mensagem, uma lista ou outro layout personalizado.

14
Botões de ação
o deve haver mais de três botões em uma caixa de diálogo.

Figura 2
EXEMPLOS DE CAIXAS DE DIALOGO
COM ALERTDIALOG

5
tributo da classe.
ivate AlertDialog alerta; Figura 1: Exemplo de um diálogo b
ivate void exemplo_simples() {
//Cria o gerador do AlertDialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//define o titulo
builder.setTitle("Titulo");
//define a mensagem
builder.setMessage("Qualifique este software");
//define um botão como positivo
builder.setPositiveButton("Positivo", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(MainActivity.this, "positivo=" + arg1,
ast.LENGTH_SHORT).show();
}

14
});
//define um botão como negativo.
builder.setNegativeButton("Negativo", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(MainActivity.this, "negativo=" + arg1,
ast.LENGTH_SHORT).show();
}
});
//cria o AlertDialog
alerta = builder.create();
//Exibe
alerta.show();
6
É importante sabermos que ao criarmos o diálogo utilizando os recursos
padrões ele será automaticamente desfeita ao pressionar qualquer dos botões.

A criação é simples e em todos os exemplos vamos utilizar o mesmo recurso


para a criação do objeto AlertDialog. Utilizaremos a classe AlertDialog.Builder,
vamos instanciá-la e configurar o que será exibido (título, mensagem, botões,

14
etc…) após isso vamos pegar o AlertDialog do Builder e mandar exibir o
diálogo.

7
e AlertDialog alerta;//atributo da classe.

e void exemplo_alerta() {
ertDialog.Builder builder = new AlertDialog.Builder(this);
lder.setTitle("Titulo");//define o titulo
lder.setMessage("Digite aqui sua mensagem!");//define a mensagem
efine um botão como positivo
lder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(MainActivity.this, "Você clicou no botão Ok", Toast.LENGTH_SHORT).show();
}

efine um botão como negativo.


lder.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(MainActivity.this, "Você clicou no botão Cancelar", Toast.LENGTH_SHORT).show();
}

rta = builder.create();//cria o AlertDialog


rta.show();//Exibe
8
rtDialog.Builder builder = new AlertDialog.Builder(getActivity());
Add the buttons
lder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User clicked OK button
}
});
lder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
Set other dialog properties

Create the AlertDialog


rtDialog dialog = builder.create();

Figura 2. Layout de uma caixa de diálog


Adição de listas
três tipos de listas disponíveis nas APIs AlertDialog:

ta de escolha única tradicional


ta de escolha única persistente (botões de opção)
Figura 3. Caixa de diálogo co
ta de escolhas múltiplas persistentes (caixas de um título e uma lista.
eção)
a criar uma lista de escolha única como a da figura 3,
o método setItems():
mo a lista aparece na área de conteúdo da caixa de diálogo, ela não pode exibir ao mesmo tempo uma
ensagem e uma lista. Será necessário definir um título para a caixa de diálogo com setTitle(). Para
pecificar os itens da lista, chame setItems(), passando uma matriz. Como alternativa, é possível especifi
ma lista usando setAdapter(). Isso permite retroceder a lista com dados dinâmicos (como os de um banco
dos) com um ListAdapter.

você optar por retroceder a lista com um ListAdapter, sempre use um Loader para que o conteúdo
rregue assincronamente. Veja mais detalhes sobre isso nos guias Criação de layouts com um
aptador e Carregadores.

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.pick_color)
.setItems(R.array.colors_array, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
}
});
return builder.create();
}
Esse exemplo é para deixá-los querendo mais

Criação de layout personalizado


Se você deseja um layout personalizado em uma caixa de diálogo, crie um layout e adicione-o a
uma AlertDialog chamando setView() no objeto AlertDialog.Builder.

Por padrão, o layout personalizado preenche a janela da caixa de diálogo, mas ainda é possível usar
métodos AlertDialog.Builder para adicionar botões e um título.

Figura 5. Layout personalizado da caixa de diálogo.


BIBLIOGRAFIAS
echeta, Ricardo. 4ed. Google Android.Novatec.2015.

ite: http://matheuspiscioneri.com.br/blog/alertdialog-android-
caixa-dialogo/

ite: https://www.devmedia.com.br/android-dialog/26749
ite: https://developer.android.com/guide/topics/ui/dialogs.html
MUITO

OBRIGADO

You might also like