Mensagens. Para conhecimento. Renomear arquivos. Botão Direito no arquivo > Rafactor > Rename Shift + F6

Documentos relacionados
Trabalhando com Mensagens. File > New > New Project. Uso de mensagens (Toast) Luiz Eduardo Guarino de Vasconcelos

Login. Criar uma nova Activity. Login. Luiz Eduardo Guarino de Vasconcelos

Firebase. Acesse o site Acesse o menu Go to Console. Acesse com uma conta Google ou crie uma conta.

============================== Exemplo ListView MainActivity.java

Criando as primeiras telas (Activity)

Prof: Ricardo Quintão Site:

Prof: Ricardo Quintão Site:

Retrofit. Criar um novo projeto. Selecionar a API. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai. Esse livro está à venda em

Desenvolvimento de Aplicativos Android

Tutorial Android Speech

Fragments. Criar um novo projeto. Selecionar a API. Navigation Drawer Activity. Fragments. Luiz Eduardo Guarino de Vasconcelos

Mais Elementos da Interface com o Usuário. Prof. Fellipe Aleixo

PROGRAMAÇÃO MOBILE Estudo de Caso

Programação de Dispositivos Móveis

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho

Criando o primeiro projeto para entender a estrutura do app

ANDROID APRENDIZ. Um guia para iniciantes Crie seu primeiro aplicativo Android

Primeira Aplicação Android Olá Mundo. Prof. Fellipe Aleixo

Universidade Federal do Paraná

PROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB

Avisos e Notificações aos Usuários

Curso de Android - 2 Novas Activities. SECAP Prof. Rone Ilídio - UFSJ

Programação para Dispositivos Móveis. Banco de Dados (SQLite)

Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps.

A documentação do Android, disponível em

Programação para Dispositivos Móveis

Computação Móvel Gerenciadores de Layout (Ref. Cap. 6)

Módulo 4 - Interface Gráfica Gerenciadores de Layout. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Projeto GoHome Tutorial Sobre o serviço do Google Maps no Android

Programação para Dispositivos Móveis

Programação para a Plataforma Android Aula 2. Aula 2 Views

Computação Móvel Conceitos Básicos do Android Ref. Capítulo 3

Android Layout Manager. Ivan Nicoli

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

FACULDADE DE TECNOLOGIA SENAC PELOTAS

Programando Intenções. Prof. Fellipe Aleixo

Android Banco de Dados. Ivan Nicoli

2ª edição Nelson Glauber de Vasconcelos Leal

Programa de Dispositivos Móveis

Inicia-se a produção do Caderno de Atividades sob a sua responsabilidade.

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Programação de Dispositivos Móveis

Android. Interfaces: widgets

Programação para Dispositivos Móveis. Sensores

Módulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Nelson Glauber de Vasconcelos Leal

Prof: Ricardo Quintão Site:

Programação para a Plataforma Android Aula 16. Fragmentos

Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android

Programa de Dispositivos Móveis

AULA 2. Minicurso PET-EE UFRN

Programação para Android. Aula 08: Persistência de dados SQL

Android I N T R O D U Ç Ã O À P R O G R A M A Ç Ã O P R O F E S S O R L E O N A R D O C. R. S O A R E S - L A R B A C K

Módulo 3 - Intenções. SECAP 2014 Prof. Rone Ilídio - UFSJ

Desenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

Programação para Dispositivos Móveis

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

Computação Móvel Activity (Ref. Cap. 4)

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6

Android Activity. Ivan Nicoli

Desenvolvimento Android.

Capítulo 02: Cadastro de Alunos

Views Interface Gráfica

Programação para Android. Aula 05: Estilos e temas; galeria de imagens

JavaFX Classe de Controle e Eventos. Prof. Vicente Paulo de Camargo

Tutorial sobre Activity: Como carregar um fragmento do mapa para a tela do celular

Programação para a Plataforma Android Aula 11. Banco de Dados

Computação Móvel ActionBar e Temas (Ref. Cap. 5)

Introdução ao Desenvolvimento para Sistema Operacional Android

1. SQLite No Android 2. API de Acesso Listagem 1 SQLiteDatabase SQLiteOpenHelper Listagem 1 Android Studio SQLiteOpenHelper Android Studio

Computação Móvel Persistência (Ref. Cap. 18)

Log, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

AULA 3. Minicurso PET-EE UFRN

Programação para Dispositivos Móveis. Activity e Intent

Android OLÁ MUNDO MÓVEL. Prof. Dr. Joaquim assunção.

Programação para Android. Aula 06: Activity, menus e action bar

JavaFX Classe de Controle e Eventos. Prof. Vicente Paulo de Camargo

HCI Summer Workshop. Android #1. Tiago Guerreiro.

Google Android. Componentes Gráficos

Tutorial SDK Android

Comunicação entre A0vidades

Capítulo 08: Layouts customizados

CENTRO UNIVERSITÁRIO UNIFACVEST KIULYN FERNANDES TABORDA SCHMITZ

Prof. Jhonatan Fernando

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

Programação para a Plataforma Android Aula 7. Mul$mídia

UTILIZAÇÃO DA BIBLIOTECA DIMEPSAT PARA ANDROID

MANUAL DE UTILIZAÇÃO DO SOFTWARE DE IMPRESSÃO DE ETIQUETAS MOORE.

Manual de Utilização do software Colacril Office para criação e impressão de etiquetas. Manual de Utilização

Programação para a Plataforma Android Aula 13. Localização

PROGRAMAÇÃO COM ANDROID NA ÁREA DA ENGENHARIA CARTOGRÁFICA: ALGUNS EXEMPLOS

APP INVENTOR. APP INVENTOR Exercício 1

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

Tutorial para manipulação de requerimentos pela secretaria

Apostila de programação para Android

Transcrição:

Mensagens Qual a finalidade da mensagem que é exibida para o usuário? - Toasts não necessariamente serão lidas pelos usuários pois aparecem e somem rapidamente. - Alerts são mensagens críticas para o usuário. Mensagens que ele deve ler. Para conhecimento. Renomear arquivos. Botão Direito no arquivo > Rafactor > Rename Shift + F6 Criar uma classe Util para colocar uma função para exibir Toast Criar novo pacote Adicionar classe Adicionar classe Util.java dentro desse pacote

MainActivity.java Recortar o conteúdo colorido LayoutInflater até toast.show para o método a ser criado na classe Util. package com.example.guarino.exemplo1; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.gravity; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.textview; import android.widget.toast; public class MainActivity extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsupportactionbar().settitle(r.string.app_title); //infla o layout - permite adicionar informações ao layout LayoutInflater inflater = getlayoutinflater(); View layout_toast = inflater.inflate(r.layout.toast_exemplo, (ViewGroup) findviewbyid(r.id.layout_toast)); TextView txttoast = (TextView) layout_toast.findviewbyid(r.id.txttoast); txttoast.settext("exemplo de app 1.0"); //Mensagem rápida - Toda activity é um context //Toast toast = Toast.makeText(MainActivity.this, "Teste de Exemplo app 1.0", Toast.LENGTH_SHORT); Toast toast = new Toast(this); toast.setview(layout_toast); //set x e y - valores positivos ou negativos toast.setgravity(gravity.center, 0, 0); toast.show();

Criar um método na classe Util.java Criar método public static void showmessagetoast(activity activity, String texto) Copiar o conteúdo anterior para dentro do método. Ao fazer isso, o Android Studio irá mostrar todas as classes que ele irá importar. O método deve ficar como segue: package com.example.guarino.exemplo1.util; import android.app.activity; import android.view.gravity; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.textview; import android.widget.toast; import com.example.guarino.exemplo1.r; public class Util { public static void showmessagetoast(activity activity, String texto) { LayoutInflater inflater = activity.getlayoutinflater(); View layout_toast = inflater.inflate(r.layout.toast_exemplo, (ViewGroup) activity.findviewbyid(r.id.layout_toast)); TextView txttoast = (TextView) layout_toast.findviewbyid(r.id.txttoast); txttoast.settext(texto); Toast toast = new Toast(activity); toast.setview(layout_toast); toast.setgravity(gravity.center, 0, 0); toast.show(); Na MainActivity.java, chamar o método criado em Util. public class MainActivity extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsupportactionbar().settitle(r.string.app_title); Util.showMessageToast(this, "Exemplo de Toast"); - Será exibida uma mensagem no centro da tela.

Criar um alert protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsupportactionbar().settitle(r.string.app_title); Util.showMessageToast(this, "Exemplo de Toast"); AlertDialog alert = new AlertDialog.Builder(this).create(); alert.settitle("exemplo alert"); alert.setmessage("mensagem de alert"); alert.seticon(r.mipmap.logo); alert.show(); Será exibida uma mensagem toast e um alert. Criar um alert com botão OK protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsupportactionbar().settitle(r.string.app_title); Util.showMessageToast(this, "Exemplo de Toast"); AlertDialog alert = new AlertDialog.Builder(this).create(); alert.settitle("exemplo alert"); alert.setmessage("mensagem de alert"); alert.seticon(r.mipmap.logo); alert.setbutton(dialoginterface.button_positive, "OK", new ); alert.show(); Será exibida uma mensagem toast e um alert.

Criar um alert com Cancelar e OK protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsupportactionbar().settitle(r.string.app_title); Util.showMessageToast(this, "Exemplo de Toast"); AlertDialog alert = new AlertDialog.Builder(this).create(); alert.settitle("exemplo alert"); alert.setmessage("mensagem de alert"); alert.seticon(r.mipmap.logo); alert.setbutton(dialoginterface.button_positive, "OK", new ); alert.setbutton(dialoginterface.button_negative, "Cancelar", new ); alert.show(); Será exibida uma mensagem toast e um alert.

Criando um alert com OK para ser reutilizado Na classe Util.java, criar o método public static void showmessageok (Activity activity, String titulo, String texto) { AlertDialog alert = new AlertDialog.Builder(activity).create(); alert.settitle(titulo); alert.setmessage(texto); alert.seticon(r.mipmap.logo); alert.setbutton(dialoginterface.button_positive, "OK", new ); alert.show(); Na classe MainActivity.java, fazer a chamada do método Util.showMessageOK(this, "Exemplo de alert", "Exemplo de alert OK"); Será exibida uma mensagem toast e um alert.

Alterando a largura e altura do Alert Na classe Util.java, alterar o método showmessageok public static void showmessageok (Activity activity, String titulo, String texto) { AlertDialog alert = new AlertDialog.Builder(activity).create(); alert.settitle(titulo); alert.setmessage(texto); alert.seticon(r.mipmap.logo); alert.setbutton(dialoginterface.button_positive, "OK", new ); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); //Largura do tamanho do Layout e altura do tamanho do texto params.copyfrom(alert.getwindow().getattributes()); params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; alert.show(); alert.getwindow().setattributes(params); alert.getwindow().setbackgrounddrawableresource (R.color.verdeEscuro); Será exibida uma mensagem toast e um alert.

Criando um enum para definir o tipo de mensagem Na pasta java/com.example.guarino.exemplo1/util > New > Java Class Obs: Alterar o Kind para Enum package com.example.guarino.exemplo1.util; public enum MessageType { ERRO, INFO, SUCESSO, ALERTA Adicionar imagens na pasta res/drawable para os 4 tipos de mensagens. Para isso, basta dar Ctrl+C nos arquivos no Windows Explorer e Ctrl+V na pasta citada.

Alterar o método showmessageok em Util.java public static void showmessageok (Activity activity, String titulo, String texto, MessageType tipo) { AlertDialog alert = new AlertDialog.Builder(activity).create(); alert.settitle(titulo); alert.setmessage(texto); switch (tipo){ case INFO: alert.seticon(r.drawable.info); case ERRO: alert.seticon(r.drawable.error); case SUCESSO: alert.seticon(r.drawable.success); case ALERTA: alert.seticon(r.drawable.alert); //alert.seticon(r.mipmap.logo); alert.setbutton(dialoginterface.button_positive, "OK", new ); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.copyfrom(alert.getwindow().getattributes()); params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; alert.show(); alert.getwindow().setattributes(params); //alert.getwindow().setbackgrounddrawableresource(r.color.verdeescuro); Alterar a chamada do método em MainActivity.java Util.showMessageOK(this, "Exemplo de alert", "Exemplo de alert OK", MessageType.SUCESSO); Será exibida uma mensagem toast e um alert.

Alterar a cor de cada tipo de mensagem No arquivo res/values/colors.xml Criar as cores abaixo: <?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorprimary">#3f51b5</color> <color name="colorprimarydark">#303f9f</color> <color name="coloraccent">#ff4081</color> <color name="branco">#ffffff</color> <color name="verdeescuro">#004106</color> <color name="azulclaro">#4bb2e2</color> <color name="vermelho">#ff0000</color> <color name="amarelo">#eaff00</color> </resources> No arquivo res/values/styles.xml Criar os estilos abaixo: <resources> <style name="apptheme" parent="theme.appcompat.light.darkactionbar"> <item name="colorprimary">@color/colorprimary</item> <item name="colorprimarydark">@color/colorprimarydark</item> <item name="coloraccent">@color/coloraccent</item> </style> <style name="apptheme.dark.dialog.alert" parent="theme.appcompat.dialog"> <item name="coloraccent">@color/branco</item> <item name="android:textcolorprimary">@color/branco</item> <item name="android:background">@color/verdeescuro</item> </style> <style name="apptheme.dark.dialog.info" parent="theme.appcompat.dialog"> <item name="coloraccent">@color/branco</item> <item name="android:textcolorprimary">@color/branco</item> <item name="android:background">@color/amarelo</item> </style> <style name="apptheme.dark.dialog.success" parent="theme.appcompat.dialog"> <item name="coloraccent">@color/branco</item> <item name="android:textcolorprimary">@color/branco</item> <item name="android:background">@color/azulclaro</item> </style> <style name="apptheme.dark.dialog.error" parent="theme.appcompat.dialog"> <item name="coloraccent">@color/branco</item> <item name="android:textcolorprimary">@color/branco</item> <item name="android:background">@color/vermelho</item> </style> </resources>

Alterar o método showmessageok na classe Util.java public static void showmessageok (Activity activity, String titulo, String texto, MessageType tipo) { int theme = 0; int icon = 0; switch (tipo){ case INFO: icon = R.drawable.info; theme = R.style.AppTheme_Dark_Dialog_Info; case ERRO: icon = R.drawable.error; theme = R.style.AppTheme_Dark_Dialog_Error; case SUCESSO: icon = R.drawable.success; theme = R.style.AppTheme_Dark_Dialog_Success; case ALERTA: icon = R.drawable.alert; theme = R.style.AppTheme_Dark_Dialog_Alert; AlertDialog alert = new AlertDialog.Builder(activity, theme).create();; alert.settitle(titulo); alert.setmessage(texto); alert.seticon(icon); //alert.seticon(r.mipmap.logo); alert.setbutton(dialoginterface.button_positive, "OK", new ); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.copyfrom(alert.getwindow().getattributes()); params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; alert.show(); alert.getwindow().setattributes(params); Será exibida uma mensagem toast e um alert.

Adicionando um botão na MainActivity No arquivo res/values/strings.xml <resources> <string name="app_name">exemplo1</string> <string name="app_title">exemplo1 - Guarino</string> <string name="btnenviar">enviar</string> </resources> No arquivo res/values/dimens.xml <resources> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> <dimen name="margin_widgets">20dp</dimen> <dimen name="botao">16sp</dimen> </resources> No arquivo res/layout/activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.example.guarino.exemplo1.mainactivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello World!" /> <Button android:id="@+id/btnenviar" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/btnenviar" android:background="@color/colorprimarydark" android:textcolor="@color/branco" android:textsize="@dimen/botao" android:layout_alignparentbottom="true"/> </RelativeLayout>

Na MainActivity.java Adicionar uma chamada para o botão Button btnenviar = (Button) findviewbyid(r.id.btnenviar); btnenviar.setonclicklistener(new CTRL+ESPAÇO); Ao pressionar CTRL+ESPAÇO, irá mostrar a tela a seguir. Usar o OnClickListerner Deixar o código da MainActivity como: public class MainActivity extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsupportactionbar().settitle(r.string.app_title); Button btnenviar = (Button) findviewbyid(r.id.btnenviar); btnenviar.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { Util.showMessageOK(MainActivity.this, "Exemplo de alert", "Exemplo de alert OK", MessageType.SUCESSO); ); Util.showMessageToast(this, "Exemplo de Toast");

Será exibida uma mensagem toast. Clicar no botão Enviar. Será exibido o Alert. Definindo uma ação no click do Alert Mainactivity.java Remover a chamada do Toast e colocá-la dentro do click do método showmessageok da classe Util.java public class MainActivity extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsupportactionbar().settitle(r.string.app_title); Button btnenviar = (Button) findviewbyid(r.id.btnenviar); btnenviar.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { Util.showMessageOK(MainActivity.this, "Exemplo de alert", "Exemplo de alert OK", MessageType.SUCESSO); ); //Removido //Util.showMessageToast(this, "Exemplo de Toast");

Util.java Deixar o parâmetro activity como final. Deixar a variável alert como final. Acrescentar o código dentro do click do alert para chamar o Toast. alert.dismiss() - garante que o Dialog será eliminado. public static void showmessageok (final Activity activity, String titulo, String texto, MessageType tipo) { int theme = 0; int icon = 0; switch (tipo){ case INFO: icon = R.drawable.info; theme = R.style.AppTheme_Dark_Dialog_Info; case ERRO: icon = R.drawable.error; theme = R.style.AppTheme_Dark_Dialog_Error; case SUCESSO: icon = R.drawable.success; theme = R.style.AppTheme_Dark_Dialog_Success; case ALERTA: icon = R.drawable.alert; theme = R.style.AppTheme_Dark_Dialog_Alert; final AlertDialog alert = new AlertDialog.Builder(activity, theme).create(); alert.settitle(titulo); alert.setmessage(texto); alert.seticon(icon); alert.setbutton(dialoginterface.button_positive, "OK", new Util.showMessageToast(activity, "Exemplo de Toast"); //garante o fechamento do dialog alert.dismiss(); ); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.copyfrom(alert.getwindow().getattributes());

params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; alert.show(); alert.getwindow().setattributes(params); Clicar no botão Enviar. Será exibido o Alert. Ao clicar no OK, será exibido um Toast. Uma segunda forma de executar o onclick do botão Alterar a MainActivity - Remover a chamada do evento click - Criar uma function clickbtnenviar public class MainActivity extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsupportactionbar().settitle(r.string.app_title); //REMOVER Button btnenviar = (Button) findviewbyid(r.id.btnenviar); btnenviar.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { Util.showMessageOK(MainActivity.this, "Exemplo de alert", "Exemplo de alert OK", MessageType.SUCESSO); ); public void clickbtnenviar(view view) { Util.showMessageOK(MainActivity.this, "Exemplo de alert", "Exemplo de alert OK", MessageType.SUCESSO);

Alterar a activity_main.xml Colocar a chamada do onclick <Button android:id="@+id/btnenviar" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/btnenviar" android:background="@color/colorprimarydark" android:textcolor="@color/branco" android:textsize="@dimen/botao" android:onclick="clickbtnenviar" android:layout_alignparentbottom="true"/> Clicar no botão Enviar. Será exibido o Alert. Ao clicar no OK, será exibido um Toast. Criar um novo método em Util.java com 2 botões (OK e Cancelar) Método semelhante ao showmessageok mas com mais um botão (linhas amarelas abaixo). Alterar o conteúdo do click OK para apenas imprimir no Log (uso de Log.d). public static void showmessageokcancelar (final Activity activity, String titulo, String texto, MessageType tipo) { int theme = 0; int icon = 0; switch (tipo){ case INFO: icon = R.drawable.info; theme = R.style.AppTheme_Dark_Dialog_Info; case ERRO: icon = R.drawable.error; theme = R.style.AppTheme_Dark_Dialog_Error; case SUCESSO: icon = R.drawable.success; theme = R.style.AppTheme_Dark_Dialog_Success; case ALERTA: icon = R.drawable.alert; theme = R.style.AppTheme_Dark_Dialog_Alert; final AlertDialog alert = new AlertDialog.Builder(activity, theme).create(); alert.settitle(titulo); alert.setmessage(texto); alert.seticon(icon);

alert.setbutton(dialoginterface.button_positive, "OK", new //imprime -1 Log.d("OK", String.valueOf(which)); //garante o fechamento do dialog alert.dismiss(); ); alert.setbutton(dialoginterface.button_negative, "Cancelar", new //imprime -2 Log.d("CANCELAR", String.valueOf(which)); //garante o fechamento do dialog alert.dismiss(); ); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.copyfrom(alert.getwindow().getattributes()); params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; alert.show(); alert.getwindow().setattributes(params); //alert.getwindow().setbackgrounddrawableresource(r.color.verdeescuro); Na MainActivity.java, colocar uma chamada para o método, apenas para teste. protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); getsupportactionbar().settitle(r.string.app_title); Util.showMessageOKCancelar(MainActivity.this, "Exemplo de alert", "Exemplo de alert OK", MessageType.SUCESSO); Será exibido o Alert. Clicar no OK ou no Cancelar. Observar no Android Studio, no Android Monitor, o valor da variável impressa.