Views Interface Gráfica



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

Android Layout Manager. Ivan Nicoli

Programação Android. Aula 03

Programação para Android

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

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Construindo layouts complexos em Android

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

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

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

AULA 2. Minicurso PET-EE UFRN

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

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

Programação para Dispositivos Móveis

Programação de Dispositivos Móveis

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

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

Google Android. Componentes Gráficos

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

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

Programa de Dispositivos Móveis

Universidade Federal do Paraná

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

Programação de Dispositivos Móveis

Introdução ao Desenvolvimento para Sistema Operacional Android

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

Prof: Ricardo Quintão Site:

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

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

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

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

Tutorial Android Speech

Desenvolvimento Android. Pontapé inicial...

Android Banco de Dados. Ivan Nicoli

Curso: Especializado Desenvolvimento de Aplicações para Android

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

Prof: Ricardo Quintão Site:

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

Avisos e Notificações aos Usuários

Programa de Dispositivos Móveis

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

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

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

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

O que você deseja fazer agora?

Apostila de programação para Android

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

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

Manual PAINT.NET de imagens

Computação II Orientação a Objetos

IMPLEMENTAÇÃO DE UM MOTOR DE JOGOS DE CARTA PARA A PLATAFORMA ANDROID

Imagens: <img src="..."> src <img src="tecnologia.jpg"> único atributo que não pode ser omitido neste TAG Nota: img

Programando Intenções. Prof. Fellipe Aleixo

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

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

Introdução ao HTML. Sumário

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Imagens: <IMG SRC="..."> SRC <IMG SRC="tecnologia.jpg"> único atributo que não pode ser omitido neste tag Nota: img

Você vai começar criando o fundo Após criar o fundo, você aplicará o resto dos gráficos e texto da publicidade.

Android Básico Hello World!

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

Gerenciadores de Layout Parte 1

Posicionamento e Layout com CSS

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

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

Desenvolvimento de Aplicações. Android. Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike. Novatec

LOJAS ESPECIAIS 2014

Criando o primeiro projeto para entender a estrutura do app

CURSOS ANDROID. Prof: Igor Portela

Comunicação entre A0vidades

Introdução ao Android

Aula 3. Word Administrativo. Solicitamos que guarde seus arquivos, para o projeto final do módulo

Informática Básica para o PIBID

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

Programação para Dispositivos Móveis

Interfaces Gráficas parte 3

CRIAÇÃO DE SITES (AULA 9)

Análise de Dados do Financeiro

Layouts de páginas com HTML e CSS

Word 1 - Introdução Principais recursos do word A janela de documento Tela principal

Aula 01 Conceitos Iniciais sobre Excel 2010

Curso PHP Básico. Jairo Charnoski do Nascimento

Versão PIMACO AUTOADESIVOS LTDA. Assistente Pimaco Ajuda ao Usuário

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

Criando as primeiras telas (Activity)

MICROSOFT EXCEL - AULA NÚMERO 05

ÍNDICE. Tela de Configuração Dados de Etiqueta Configuração da Impressora Configuração do Papel Itens para Inserção...

Android. Interfaces: widgets

Bem-vindo ao CorelDRAW, um programa abrangente de desenho e design gráfico baseado em vetor para o profissional gráfico.

Desenvolvimento de Aplicativos Android

Abaixo seguem algumas telas do software, com as descrições das etapas para inclusão das informações e visualização dos resultados:

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

4. Características Gerais das Tabelas do HTML

UNIVERSIDADE ESTADUAL DE CAMPINAS. Instruções para Uso do Software VISIO

Treinamento em BrOffice.org Calc

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

GERENCIADOR DE CONTEÚDO

Design para internet. Resolução. - No Design Gráfico quanto maior o DPI melhor. - Na web não é bem assim.

Relatório do GPES SATI

Transcrição:

Views Interface Gráfica

Interfaces gráficas Visão geral Classe View A classe para componentes visuais Desenha na tela através do método ondraw(canvas) Widgets Classe 2

O que é a View Classe para componentes visuais Desenha na tela através do método ondraw(canvas) Ancestral de todos os componentes visuais de uma aplicação Android. Tipos de componentes: Widgets Gerenciadores de layout 3

A classe ViewGroup A classe ViewGroup é a classe mãe de todos os gerenciadores de layout. Os gerenciadores de layout são utilizados para organizar a disposição dos componentes na tela. 4

Como referenciar recursos no XML Drawable: android:src="@drawable/nome_drawable" Identificadores: Definição: android:id="@+id/identificador" Referência: android:layout_below="@id/identificador" Strings: Cores: android:text="@string/nome_string" Forma direta: android:textcolor="#rrggbb" Forma indireat: android:textcolor="@color/nome_cor" Estilos: style="@style/nome_estilo 5

Interfaces gráficas - Layouts Opções para definição do layout Arquivos XML na pasta /res/layout <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:src="@drawable/image" android:id="@+id/imgview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> Via código da API FrameLayout layout = new FrameLayout(this); LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); layout.setlayoutparams(params); ImageView imgview = new ImageView(this); params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); imgview.setlayoutparams(params); imgview.setimageresource(r.drawable.image); layout.addview(imgview); setcontentview(layout); 6

FrameLayout Tipo mais comum e simples de layout, utilizado por um componente que precisa preencher a tela inteira. O componente inserido no FrameLayout será posicionado no canto esquerdo superior e, dependendo de seu tamanho, ocupará todo o espaço da tela. Componentes são organizados em pilha O último componente adicionado aparece na frente 7

FrameLayout 8

FrameLayout Atributos 9

Exercício - FrameLayout Crie um projeto chamado LayoutSamples Substitua o conteúdo de main.xml por: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android=http://schemas.android.com/apk/res/android android:layout_width="match_parent android:layout_height="wrap_content android:background="#8b8b83"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:src="@drawable/smile" /> </FrameLayout> Modifique o layout acima usando outros atributos Adicione mais um ImageView. Dica: é possível usar "bottom right" em layout_gravity 10

LinearLayout Componentes são organizados lado a lado Organiza os elementos na vertical ou na horizontal (padrão). Propriedades orientation : define o fluxo dos elementos na tela pode ser vertical ou horizontal layout_heigth e Layout_width: especifica a altura do componente pode receber como entra um número, fill_parent( ocupa o espaço disponível no elemento pai) e wrap_content ocupa apenas o espaço necessário na tela layout_gravity: utilizado para alinhar elementos na tela. Valor (top,botton,left, right, center, center_vertical, center_horizontal) 11

LinearLayout 12

LinearLayout Atributos Pesos 13

Exercício - LinearLayout Adicione o arquivo linearlayout.xml a seguir Não esqueça de fazer setcontentview(r.layout.linearlayout); <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="nome do programa" android:layout_gravity="right" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="descrição curta" android:layout_gravity="right" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="2" android:gravity="top"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="detalhes" android:layout_gravity="right" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="3" android:gravity="top"/> </LinearLayout> 14

TableLayout É filho do LinearLayout e pode ser utilizado para organizar os componentes em uma tabela, com linhas e colunas. Organiza componentes em linhas e colunas Cada linha é um TableRow (subclase de LinearLayout) Propriedades stretchcolumns: a coluna ocupa o espaço disponível na tela. Utilizado para tabelas com somente uma coluna shrinkcolumns: faz um ajuste na largura da coluna impedindo que elementos deixem de ser exibidos. 15

TableLayout 16

TableLayout Atributos 17

Exercício - TableLayout Adicione outro XML de layout ao projeto (tablelayout.xml) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#505050"> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content android:stretchcolumns="1" > <TableRow> <TextView android:text="produto A" /> <TextView android:text="r$ 100,00" android:gravity="right" android:background="#808080" /> </TableRow> <TableRow> <TextView android:text="produto B" android:background="#808080"/> <TextView android:text="r$ 100,00" android:gravity="right" /> </TableRow> </TableLayout> (continua...) 18

Exercício - TableLayout <View android:layout_width="wrap_content" android:layout_height="2px" android:background="#000000" /> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:shrinkcolumns="1" > <TableRow> <TextView android:text="produto A" /> <TextView android:text="descrição curta" /> </TableRow> <TableRow> <TextView android:text="produto B" /> <TextView android:text="este produto possui uma descrição muito grande e não caberia na tela normalmente" android:background="#808080"/> </TableRow> </TableLayout> </LinearLayout> 19

RelativeLayout Permite posicionar um componente relativo a outro (abaixo, acima ou ao lado de um componente já existente). Componentes precisam ser identificados: android:id="@+id/id_componente" Propriedades layout_below : Posiciona o elemento abaixo do indicado layout_above : Posiciona o elemento acima do indicado layout_torightof : Posiciona o elemento a direita do indicado layout_toleftof: Posiciona o elemento a esquerda do indicado 20

RelativeLayout layout_alignparenttop : Alinha ao topo do componente indicado layout_alineparentbotton : Alinha abaixo do componente indicado layout_margintop : Utilizado para definir um espaço na margem superior do componente. layout_marginright : Utilizado para definir um espaço na margem direita do componente. layout_marginleft : Utilizado para definir um espaço na margem esquerda do componente. 21

RelativeLayout 22

RelativeLayout Atributos 23

Exercício - RelativeLayout Adicione outro XML de layout ao projeto (relativelayout.xml) <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="fill_parent"> <TextView android:id="@+id/tvlogin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:text="usuário:" /> <EditText android:id="@+id/etlogin" android:layout_width="250px" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:text="usuario" android:layout_below="@id/tvlogin" /> <TextView android:id="@+id/tvsenha" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:text="senha:" android:layout_below="@id/etlogin" /> <EditText android:id="@+id/etsenha" android:layout_width="250px" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:text="texto2" android:password="true" android:layout_below="@id/tvsenha" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="logar" android:layout_centerhorizontal="true" android:layout_below="@+id/etsenha" /> </RelativeLayout> 24

AbsoluteLayout Permite controlar posição exata dos componentes Permite posicionar os componentes, fornecendo as coordenadas x e y. Pode gerar péssimos resultados em diferentes telas Propriedades layout_x : define a posição na horizontal layout_y: define a posição na vertical 25

AbsoluteLayout 26

AbsoluteLayout Atributos 27

Dimensões Dimensão px (pixels) in (polegadas) mm (milímetro) pt (pontos_ dp/dip Descrição pixels reais da tela baseado no tamanho físico da tela baseado no tamanho físico da tela 1 pt = 1/72 in. (Density-Independent Pixels) unidade abstrata baseada na dendidade física da tela. Mantém sempre o mesmo tamanho real, independente da tela. Exemplo: 0,5 in = 12.7 mm 80 dp. Em 16.0 dpi, 80 dp = 80 px, em 240 dpi 80 dp = 120 px. sp Similar a dp, mas este é o padrão recomendado para telefones celulares. Por exemplo: layout_width = 10sp. 28

Exercício - AbsoluteLayout Adicione outro XML de layout ao projeto (absolutelayout.xml) <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="fill_parent"> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="texto1" android:layout_x="45px" android:layout_y="87px" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="texto2" android:layout_x="90px" android:layout_y="12px" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="texto 3" android:layout_x="90px" android:layout_y="250px" /> </AbsoluteLayout> 29

Layout composto Observe que layouts podem ser aninhados (colocados dentro de outro) 30

Aninhando Layouts para obter layouts complexos 31

Exercício - ComplexLayout Adicione outro XML de layout ao projeto (absolutelayout.xml) <?xml version="1.0" encoding="utf-8"?> <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <TableRow> <AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="view" android:layout_x="10px" android:layout_y="123px" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="view" android:layout_x="10px" android:layout_y="12px" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="view" android:layout_x="66px" android:layout_y="67px" /> CONTINUA. 32

Exercício - ComplexLayout Adicione outro XML de layout ao projeto (absolutelayout.xml) <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="view" android:layout_x="120px" android:layout_y="12px" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="view" android:layout_x="120px" android:layout_y="123px"> </Button> </AbsoluteLayout> <LinearLayout android:orientation="vertical"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="view" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="view" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="view" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="view" /> </LinearLayout> </TableRow> </TableLayout> 33