Tutorial 3 : Desenhando e Entendendo o Layout
Activity
Aplicações android baseiam-se em Activitys, ou seja para operar qualquer que seja acção (excepto services, brodcastreceivers, etc) e’ necessário que seja em uma activity, Activitys podem ser invisíveis (ex: para gerir notificações) ou visíveis para mostrar “todo o resto”. Cada acção que tem a ver com view’s e/ou com o layout necessita da atribuição de um o contexto(context) oferecido pela classe Activity. Cada activity tem de ser declarada no AndroidManifest file e tem de se especificar algumas coisas como label, tema, etc. A classe activity tem a seguinte estrutura: import android.os.Bundle; setContentView(layout) – E’ onde nos definimos o layout básico em que a activity devera
apresentar, os layouts são armazenados no directório “res/layout*”.
Onde nos temos os métodos de implementação, para responder aos vários eventos pedidos pelo usuário através do Sistema Operativo, são vários os métodos alguns deles são: @Override public void finish() { // Chamado quando a activity e’ terminada super.finish(); } @Override public void onBackPressed() { // Chamado quando se preciona o botao “back” super.onBackPressed(); } @Override protected void onPause() { // Chamado logo depois que a activity e’ vai para o background super.onPause(); } Mais sobre activitys aqui: http://developer.android.com/reference/android/app/Activity.html |
|
Layouts
Android na maioria dos casos apresenta um layout para que o usuário interaja com a aplicação. Para apresentar o layout existem 3 tipos default de layout: LinearLayout apresenta um layout linear horizontal ou vertical, RelativeLayout apresenta um layout relativo poderoso em que podemos fazer um melhor posicionamento dos elementos, GridLayout apresenta um layout em grelha. Ex: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" Com
a ferramenta de drag and drop podemos construir um layout muito poderoso,
podemos também fazer combinações entre layouts Ex um linear layout dentro de um relative layout ou vice e versa:
|
View's
View e’ o componente mãe dos componentes apresentados pelos aplicativos(Ex: TextView, Button), mas nos também podemos criar as nossas próprias views. Cada tipo de view tem os seus métodos e atributos, sempre que adicionamos uma view temos de especificar o id ( android:id ) usado para identificar cada view, o tamanho (android:layout_width para a largura e android:layout_heigth para a altura) em que ela tem de ocupar no screen, existem varias formas de especificar o tamanho: px - em Pixeis, não e’ recomendado, pois existem muitos dispositivos de diferentes tamanhos e em pixeis a experiência do usuário pode não ser a mesma. dp - em Density Pixeis, e’ o que calcula o espaço mediante o tamanho do dispositivo, ou seja se definimos um TextView de 20dp, num dispositivo small ele apresentara um numero de pixeis menor que num dispositivo large. wrap_content - Ocupa o espaço mediante o seu conteúdo(Ex: uma ImageView que recebe imagens de diferentes tamanhos e se adapta a cada uma delas). match_parent - Ocupa o espaço disponível no screen. Exemplo: <ImageView Respondendo a acções dos Views
Temos duas formas de responder aos eventos do usuario, referenciando o metodo no xml(so para onClick) ou usando java directo, usaremos o metodo(no java) que dependendo da situacao e’ mais facil. Primeiro temos de identificar o elemento (no java) atraves do id: Button button = (Button) findViewById(R.id.button1); Ja temos o elemento button e agora apenas temos de determinar o que tem de acontecer quando clicarmos no button. button.setOnClickListener(new View.OnClickListener() { |
Em anexo o projecto de uma aplicação que conta o numero de clicks dados em um certo botão(se encontrar um problema no projecto mande um email para [email protected])
tutorial1.rar | |
File Size: | 448 kb |
File Type: | rar |