Google Android. Componentes Gráficos



Documentos relacionados
Programação de Dispositivos Móveis

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

Android Layout Manager. Ivan Nicoli

Programa de Dispositivos Móveis

Android. Interfaces: widgets

Views Interface Gráfica

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

Programação para Android

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

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

Tutorial Android Speech

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

Programação para Dispositivos Móveis

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

Programação de Dispositivos Móveis

Programa de Dispositivos Móveis

Construindo layouts complexos em Android

Comunicação entre A0vidades

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

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

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

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

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

Introdução ao Desenvolvimento para Sistema Operacional Android

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

Programação para a Plataforma Android Aula 4. Objetos Gráficos

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

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

HCI Summer Workshop. Android #1. Tiago Guerreiro.

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

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

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

Avisos e Notificações aos Usuários

Prof. Jhonatan Fernando

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

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

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

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

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

Programação Android. Aula 03

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

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

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

Programação para Dispositivos Móveis

Android INTERFACE GRÁFICA & LAYOUT. Prof. Dr. Joaquim assunção.

Programando Passo-a-Passo 2ª Edição De : Luciano Alves (lucianopascal@yahoo.com.br)

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

Provedores de Conteúdo

6ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br) ApostilaDeAndroid. Rio de Janeiro - Outubro 2013

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

Android Banco de Dados. Ivan Nicoli

Apostila de. Programando Passo a Passo 3ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

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

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

EA998 Tópicos em Engenharia de Computação MC933 Tópicos Especiais em Ciência da Computação Android: Interface com o Usuário

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

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

Curso de Android. Fevereiro de Cristiano Expedito Ribeiro Fabrício Firmino de Faria

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

Apostila de programação para Android

Criando as primeiras telas (Activity)

AULA 2. Minicurso PET-EE UFRN

Introdução ao Android

Escrito por Neri Neitzke Qua, 12 de Outubro de :40 - Última atualização Seg, 26 de Março de :50

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Apostila de. Programando Passo a Passo 3ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

Curso: Especializado Desenvolvimento de Aplicações para Android

CURSOS ANDROID. Prof: Igor Portela

Programando Intenções. Prof. Fellipe Aleixo

De : Luciano Alves da Silva (lucianopascal@yahoo.com.br) Rio de Janeiro Agosto 2012

Armazenamento Persistente de Dados

Desenvolvimento Android. Pontapé inicial...

Criar um novo projecto

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

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

Definições de Projeto

Android. Interfaces: widgets

Nelson Glauber de Vasconcelos Leal

CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android

Android Básico Hello World!

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

Interfaces Gráficas parte 3

FRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1

Desenvolvimento Android.

Programando Passo-a-Passo De : Luciano Alves (lucianopascal@yahoo.com.br)

ANDROID APPLICATION PROJECT

6ª Edição (VENDA E DISTRIBUIÇÃO PROIBIDA) De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

Google. Ricardo R. Lecheta. Aprenda a criar aplicações para dispositivos móveis com o Android SDK. Novatec

GUIA DE INTEGRAÇÃO APP2APP APLICATIVO PAGSEGURO 1. Guia de Integração App2App Aplicativo PagSeguro VERSÃO 1.0.0

Programação para Dispositivos Móveis

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

Universidade Federal do Paraná

Comunicação via Sockets

Interfaces no Android : widgets. Continuação

Android Binding. Implementando o padrão de projeto MVVM com MVVM_. Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android

PROGRAMAÇÃO MOBILE Estudo de Caso

Transcrição:

Componentes Gráficos

No Android, por padrão já existe uma separação entre interface gráfica (View) e Controlador (Controller). View -> Resources -> Controller -> Activities ->

Layouts Um tipo de View cuja a principal proposta é organizar outros controles na tela. São usados para exibir controles filhos como textos, caixas de texto, imagens, botões e etc. na tela. São definidos no arquivo de recursos /res/layout Classe base android.view.viewgroup que representa um Container de android.view.view

Tipos de Layout LinearLayout FrameLayout RelativeLayout GridLayout TableLayout AbsoluteLayout

Linear Layout Utilizado para dispor os componentes em uma única direção (android:layout_orientation)

Linear Layout android:layout_width="fill_parent" android:layout_height="fill_parent Layouts Project

Relative Layout Os componentes são ajustados através de relacionamentos entre si ou ao seu pai especificado pelo ID. Layouts Project

Absolute Layout Organiza os componentes de forma a implementar um plano cartesiano, no qual as suas posições x e y devem ser definidas para que estes possam ser posicionados de forma absoluta. android:layout_x="45px" android:layout_y="87px"

Table Layout Ordena as Views ou GroupViews em linhas e colunas. Cada Linha é representada pelo componente TableRow. Layouts Project

android.view.view Classe que representa a base para componentes Android. <View android:id="@+id/id" android:layout_width="fill_parent" android:layout_height="wrap_content /> View findviewbyid (int id);

android.widget.textview Mostra um texto para o usuário. GraphicComponents Project <TextView android:id="@+id/text1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> text_view.xml TextView t = (TextView) findviewbyid(r.id.text1); TextViewActivity.java

android.widget.edittext Uma implementação de TextView que permite um TextView ser editável. GraphicComponents Project <EditText android:id="@+id/edittext1" android:layout_width="match_parent" android:layout_height="wrap_content" > edit_text_view.xml <requestfocus /> </EditText>

android.widget.edittext android:inputtype="textpassword" android:inputtype="phone android:inputtype="textmultiline" EditText edttxt1 = (EditText) findviewbyid(r.id.edittext1); Log.i( tag, Value Txt: + edttxt1.gettext()); EditTextActivity.java

android.widget.button <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text= @string/btn1" /> button.xml Button button = (Button) findviewbyid(r.id.btn1); ButtonActivity.java

Listeners e Buttons Button button = (Button) findviewbyid(r.id.btn1); button.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { // Perform action on click } }); ButtonActivity.java

android.widget.toast Pequeno container para mensagens rápidas mostradas ao usuário. Não há interação com o usuário; Usado para informações não essenciais; (Informação que melhora o uso da app para o usuário). maketext(context context, CharSequence text, int duration) maketext(context context, int resid, int duration) show() int LENGTH_LONG int LENGTH_SHORT

android.app.dialog Classe base para todos os tipos de Dialogs em Activities. Interação com o usuário; Permite Dialogs customizados. Elementos Básicos de um Dialog Título; Mensagem; Botões de Coleta de Informações (Yes, No, Cancel, etc).

android.app.alertdialog.builder Dialogs de alerta em uma aplicação Android. AlertDialogs Project AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.settitle("alerta"); builder.seticon(android.r.drawable.btn_star); builder.setmessage( Mensagem"); builder.show(); AlertDialogActivity.java

Listeners para AlertDialog.Builder builder.setpositivebutton(android.r.string.ok, new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { Toast.makeText(getApplicationContext(), "Clicked OK!", Toast.LENGTH_SHORT).show(); return; } }); builder.setnegativebutton(android.r.string.cancel, new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { Toast.makeText(getApplicationContext(), "Clicked Cancel!", Toast.LENGTH_SHORT).show(); return; } }); builder.setneutralbutton(android.r.string.ok, listener); AlertDialogActivity.java

Outros métodos em Dialogs setmultichoiceitems(charsequence[], boolean[], DialogInterface.OnMultiChoiceClickListener); setsinglechoiceitems(charsequence[], int, DialogInterface.OnMultiChoiceClickListener); Customizar o próprio Dialog DatePicker

DatePicker, TimePicker e DialogsPicker Representa um calendário em Android. Calendar

DatePicker e TimePicker <TimePicker android:id="@+id/timepicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> DateTimePicker Project <DatePicker android:id="@+id/datepicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"/> date_time_picker.xml android:maxdate android:mindate format: mm/dd/yyyy

DatePicker DatePicker datepicker = (DatePicker) findviewbyid(r.id.datepicker1); datepicker.getmonth(); datepicker.getdayofmonth(); datepicker.getyear(); DateTimePickerActivity.java

DatePicker updatedate(int year, int month, int dayofmonth) datepicker.updatedate(2012, 5, 10); DateTimePickerActivity.java

DatePicker init(int year, int monthofyear, int dayofmonth, DatePicker.OnDateChangedListener ondatechangedlistener) datepicker.init(2010, 5, 13, mdatepickersetlistener); DateTimePickerActivity.java

DatePicker DatePicker.OnDateChangedListener mdatepickersetlistener = new DatePicker.OnDateChangedListener() { @Override public void ondatechanged(datepicker view, int year, int monthofyear, int dayofmonth) { } }; DateTimePickerActivity.java

TimePicker TimePicker timepicker = (TimePicker) findviewbyid(r.id.timepicker1); timepicker.setis24hourview(true); timepicker. getcurrenthour(); timepicker.getcurrentminute(); timepicker. setcurrenthour(9); timepicker. setcurrentminute(26); DateTimePickerActivity.java

TimePicker setontimechangedlistener(timepicker.ontimechangedliste ner ontimechangedlistener)

TimePicker timepicker.setontimechangedlistener(new TimePicker.OnTimeChangedListener() { @Override public void ontimechanged(timepicker view, int hourofday, int minute) { // TODO Auto-generated method stub } }); DateTimePickerActivity.java

DialogsPicker DatePickerDialog TimePickerDialog

DatePickerDialog Construtor DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener callback, int year, int monthofyear, int dayofmonth)

DatePickerDialog Calendar calendario = Calendar.getInstance(); int ano = calendario.get(calendar.year); int mes = calendario.get(calendar.month); int dia = calendario.get(calendar.day_of_month); DateTimePickerActivity.java DatePickerDialog dialog = new DatePickerDialog(this, mdatesetlistener, ano, mes, dia); dialog.show();

Dialog Customizado View customizada Dialog dialog = new Dialog(this); dialog.settitle("simple Dialog!"); dialog.setview(view); Classe que extends Dialog MyDialog d = new MyDialog(this); //seus métodos

RadioButton, RadioGroup e CheckBox Componentes que controlam configurações, opções e etc. em uma Acitivty.

android.widget.radiobutton Componente que representa um botão marcável na tela. GraphicComponents Project <RadioButton android:id="@+id/radioalone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text= Utilizar ondemand" /> controls.xml

android.widget.radiogroup Representa um grupo de Radios, onde já é implementado o SingleChoice. <RadioGroup android:id="@+id/sexos" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/radiofeminino" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="feminino" /> <RadioButton android:id="@+id/radiomasculino" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="masculino" /> </RadioGroup> controls.xml

android.widget.radiogroup final RadioGroup rgpsexos = (RadioGroup) findviewbyid(r.id.sexos); Button btnchecks = (Button) findviewbyid(r.id.btngroup); btnchecks.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { ControlActivity.java if (rgpsexos.getcheckedradiobuttonid() == R.id.radioFeminino) { Toast.makeText(getApplicationContext(),"Feminino Selecionado!", Toast.LENGTH_LONG).show(); } else if(rgpsexos.getcheckedradiobuttonid() == R.id.radioMasculino) { Toast.makeText(getApplicationContext(),"Masculino Selecionado!", Toast.LENGTH_LONG).show(); } }); }

android.widget.checkbox Representa um check na tela, chamado também de flag. <CheckBox android:id="@+id/chkconfig" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="exibir sempre esta mensagem" /> controls.xml

android.widget.checkbox final CheckBox chkconfig = (CheckBox) findviewbyid(r.id.chkconfig); if (chkconfig.ischecked()){ Toast.makeText(getApplicationContext(), "Configuração Ativa!", Toast.LENGTH_SHORT).show(); } ControlActivity.java

android.widget.imageview Exibe uma imagem na tela. <ImageView android:id="@+id/myimage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> controls.xml

android.widget.imageview final ImageView image = (ImageView) findviewbyid(r.id.myimage); image.setimageresource(r.drawable.logo); Password Verify ControlActivity.java Outros usos Bitmap bmap = BitmapFactory.decodeFile("/sdcard/my_image.png"); image.setimagebitmap(bmap);

android.widget.listview ListView Project Exibe os elementos de uma lista em um padrão comum de aplicações mobile. <ListView android:id="@+id/listview1 android:layout_width="match_parent android:layout_height="wrap_content" > </ListView> list_view.xml

android.widget.listview ListView listview = (ListView) findviewbyid(r.id.listview1); String[] values = new String[] { "Android", "iphone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", "Linux", "OS/2" }; ListViewActivity.java // 1 Contexto // 2 Layout da Linha // 3 ID da View na qual o dado será escrito // 4 Valores ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, android.r.id.text1, values); listview.setadapter(adapter);

android.widget.listview ListView listview = (ListView) findviewbyid(r.id.listview1); ArrayList<String> lista = new ArrayList<String>(); lista.add("1 - Aécio"); lista.add("2 - João"); lista.add("3 - Maria"); lista.add("4 - Juliana"); ListViewActivity.java listview.setadapter(new ArrayAdapter(this, R.layout.data_list, lista));

android.widget.listview R.layout.data <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textsize="20sp" android:padding="15dp"> </TextView> data_list.xml

Adapter ListView recupera informações e as exibe através de um Adaptador. android.widget.baseadapter Classe base de Adapters para implementação de ListViews e Spinners customizados. @Override public View getview(int position, View convertview, ViewGroup parent)

ListView e Listeners OnItemClickListener @Override public void onitemclick(adapterview<?> parent, View view, int position, long id)

ListView e Listeners listview.setonitemclicklistener(new AdapterView.OnItemClickListener() { @Override public void onitemclick(adapterview<?> parent, View view, int position, long id) { String value = (String) parent.getadapter().getitem(position); Toast.makeText(getApplicationContext(), "Click ListItem Number " + position + " Value: "+value, Toast.LENGTH_LONG).show(); } }); ListViewActivity.java

android.widget.spinner Widget similar a uma list (ComboBox) para selecionar itens. <Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:prompt="@string/planet_prompt" />

android.widget.spinner strings.xml Spinner Project <string name="planet_prompt">choose a planet</string> <string-array name="planets_array"> <item>mercury</item> <item>venus</item> <item>earth</item> <item>mars</item> <item>jupiter</item> <item>saturn</item> <item>uranus</item> <item>neptune</item> </string-array> spinner.xml

android.widget.spinner Spinner spinner = (Spinner) findviewbyid(r.id.spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.r.layout.simple_spinner_item); spinner.setadapter(adapter); SpinnerActivity.java

Listener e Spinner spinner.setonitemselectedlistener(new MyOnItemSelectedListener()); public class MyOnItemSelectedListener implements OnItemSelectedListener { public void onitemselected(adapterview<?> parent, View view, int pos, long id) { Toast.makeText(parent.getContext(), "The planet is " + parent.getitematposition(pos).tostring(), Toast.LENGTH_LONG).show(); } } public void onnothingselected(adapterview parent) { // Do nothing. } MyOnItemSelectedListener.java

Menu @Override public boolean oncreateoptionsmenu(menu menu) @Override public boolean onmenuitemselected(int featureid, MenuItem item)

Menu private static final int ADD_MENU = 1; GraphicComponents Project @Override public boolean oncreateoptionsmenu(menu menu) { menu.add(0, ADD_MENU, 0, R.string.add_options_menu).setIcon(android.R.drawable.ic_menu_add); return true; } GraphicComponentsActivity.java

Menu @Override public boolean onmenuitemselected(int featureid, MenuItem item) { if (item.getitemid() == ADD_MENU) { Intent it = new Intent(this, MyActivity.class); startactivity(it); return true; } return false; } GraphicComponentsActivity.java