Sunteți pe pagina 1din 12

Crie um projeto

Em Application name: P01


Em Company Domain: projeto.anhanguera.p01
Activity Name: VermelhoActivity

Na pasta layout abra o arquivo activity_vermelho.xml


Clique na aba Text
Altere a tag RelativeLayout para LinearLayout
Apague a tag TextView inteira

Em LinearLayout adicione as seguintes propriedades :

Propriedade gravity: Determina que todos os elementos internos sero centralizados


Propriedade background: Determina a cor do fundo

Veja que na propriedade background (cor do fundo) estamos usando o parmetro cor. Como
no existe o valor vermelho ento acusa como erro. Para resolver temos que incluir este novo
valor. Para isto faa:

Abra a pasta values;


D um duplo clique sobre o arquivo colors.xml
Acrescente:

<color name="vermelho">#F00</color>

Ficar assim:

Retorne ao arquivo activity_vermelho.xml que est na pasta layout

Veja que com a incluso do valor vermelho o parmetro passa a existir e, portanto passamos
a ter o fundo vermelho.
Em activity_vermelho.xml acrescente o TextView conforme mostra a seguir:

Propriedade layout_width: Largura


Propriedade layout_height: Altura

o Valor fill_parent: Ocupa todo o espao na horizontal ou Vertical


o Valor wrap_content: Ocupa somente o espao necessrio

Propriedade paddinLeft: Distncia esquerda para o prximo objeto


Propriedade paddinRight: Distncia direita para o prximo objeto
Propriedade paddinBottom: Distncia inferior para o prximo objeto
Propriedade paddinTop: Distncia superior para o prximo objeto
Propriedade textColor: Cor da fonte
Propriedade text: Texto que ser exibido.

Veja que tanto na propriedade textColor quanto na propriedade text usamos parmetros, um
referente a cor e outra referente a string. Como os valores preto e pare no existem acusa
como erro.

Abra a pasta values;


D um duplo clique sobre o arquivo colors.xml
Acrescente:

<color name="preto">#000</color>

Abra a pasta values;


D um duplo clique sobre o arquivo strings.xml
Acrescente:

<string name="pare">Ateno: Pare</string>

Volte para o arquivo activity_vermelho.xml e acrescente a tag Button conforme mostra a


seguir:

Na propriedade layout_width=fill_parent indicamos que o elemento (objeto) ocupar todo o


espao horizontal

Na propriedade layout_height=wrap_parent indicamos que o elemento (objeto) ocupar um


espao de acordo com seu contedo
A propriedade id indica um identificador para este elemento (objeto), ao usarmos o prefixo
@+id indicamos ao Android Tools que esse identificador no existe e que deve ser criado na
classe R.

Propriedade text: Define o texto dentro do boto. Como estamos usando parmetro ento faa:

Abra a pasta values;


D um duplo clique sobre o arquivo strings.xml
Acrescente:

<string name="btTrocar">Trocar Cor</string>

Volte para o arquivo activity_vermelho.xml e no Preview veja que o valor do boto agora
Trocar Cor

Agora vamos criar outro arquivo layout. Para isto faa:

Clique com o boto direito sobre a pasta layout


Escolha -> New / XML / Layout XML File
Nome do Layout: activity_verde
Finish

Modifique conforme mostra a figura:

Abra a pasta values;


D um duplo clique sobre o arquivo colors.xml
Acrescente:

<color name="verde">#0F0</color>

Abra a pasta values;


D um duplo clique sobre o arquivo strings.xml
Acrescente:

<string name="ande">Ande com cuidado</string>


Volte para o arquivo activity_verde.xml e no Preview veja o resultado

Criar a programao Java para que o boto funcione ao clicar. Faa:

Na pasta Java d um duplo clique no arquivo VermelhoActivity

Uma atividade herda suas funcionalidade da classe android.app.Activity, ao ser criada, ela
chama o mtodo onCreate()

Modifique o mtodo onCreate() conforme mostra a figura a seguir:

O mtodo setContentView() associa a atividade ao layout atravs do seu identificador,


encontrado na classe R (criado e mantido automaticamente pelo Android Tools)

Criamos um objeto da classe Button e o associamos ao elemento Button, que est no layout
atravs do retorno do mtodo findViewById() que recebe o identificador do elemento a
associar.

Um evento uma ao que um elemento executa, neste caso um pressionamento. Com o


funcionamento idntico ao pacote grfico Swing do Java, criado um objeto que implementa a
interface Listener e, definido que quando ocorre o evento de ao, disparada a instruo
de chamar um mtodo chamaOutra()

Criar uma Nova Atividade

Como criamos um novo layout (verde) ento precisamos tambm criar sua atividade.

Dentro da pasta Java temos o projeto. D um clique com o boto direito sobre o projeto
Escolha -> New / Java Class
No name digite: VerdeActivity
Ok

Altere o cdigo conforme mostra a figura a seguir:

Como criamos uma nova atividade, devemos indicar sua existncia no arquivo
AndroidManifest.xml. Insira um novo elemento activity conforme mostra a seguir:
Retorne para a classe VermelhoActivity e complete-o com mtodo chamarOutra(). Coloque
abaixo do mtodo onCreate()

Para chamar outra atividade usamos o mtodo startActivity().

Na classe VerdeActivity complete-o com mtodo chamarOutra(). Coloque abaixo do mtodo


onCreate()
Crie um outro projeto

Em Application name: P02


Em Company Domain: projeto.anhanguera.p02
Activity Name: VermelhoActivity
Na pasta layout abra o arquivo activity_vermelho.xml
Clique na aba Text

Altere a tag RelativeLayout para LinearLayout

Apague a tag TextView inteira

Em LinearLayout adicione:

Abra a pasta values;


D um duplo clique sobre o arquivo colors.xml
Acrescente:

Abra a pasta values;


D um duplo clique sobre o arquivo strings.xml
Acrescente:
Abra o arquivo (classe) VermelhoActivity e faa:

O atributo lgico cor controla qual deve ser a cor mostrada, se verde ou vermelho. Temos um
objeto da classe LinearLayout e outro da classe TextView que sero associados com os
elementos de tela.

O mtodo chamarOutra() reponsvel por realizar a troca.


Crie um outro projeto

Em Application name: P03


Em Company Domain: projeto.anhanguera.p03
Activity Name: ArcoirisActivity
Na pasta layout abra o arquivo activity_Arcoiris.xml
Clique na aba Text

Acrescente:

O elemento SeekBar uma extenso do elemento ProgressBar, sendo correspondente ao


elemento JSlider do pacote grfico Swing do Java. Ele permite que o usurio selecione um
valor inteiro em um faixa de nmero que inicia no 0 at um valor determinado pelo atributo
max.

Abra a pasta values;


D um duplo clique sobre o arquivo strings.xml
Acrescente:
Retorne ao arquivo activity_Arcoiris.xml e acrescente depois da ltima tag SeekBar:

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:id="@+id/corSelecionado"
android:textSize="20sp" />

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:id="@+id/barraCor" />

Medidas do android

px -> Em pixel s
in -> Em polegadas
mm -> Em milmetros
pt -> Em pontos (Corresponde a 1/72 de uma polegada
dp -> Em pixels ( relativa a uma tela de 160 dpi. Se a tela for maior ou menor, o
elemento ajusta automaticamente)

Modificar a atividade principal.

Abra o arquivo (classe) ArcoirisActivity e e crie os atributos a seguir:

private SeekBar corVermelho;


private SeekBar corVerde;
private SeekBar corAzul;
private TextView corSelecionada;
private TextView barraCor;
private String[] hexCor = {"00","00","00"};

Temos trs atributos da classe SeekBar que representam cada um dos elementos de tela, e
dois TextView. O primeiro ser utilizado para mostrar o cdigo hexadecimal da cor, e o
segundo para mostrar a cor propriamente dita.

Retorne a classe ArcoirisActivity e insira:


Quando atualizado, o objeto SeekBar chama o evento, que definido pela interface
OnSeekBarChangeListener.

Essa interface exige a implementao de trs mtodos:

onStopTrackingTouch(): Quando o usrio para de tocar na barra;


onStartTrackingTouch(): Quando o usurio toca na barra;
onProgressChanged(): Quando o valor da barra modificado

Criamos a classe que implementa a interface OnSeekBarChangeListener com seus


respectivos mtodos. O mtodo onProgressChanged() recebe um atributo int chamado
progress, que contm o valor atual da barra.

Usamos o construtor para receber um parmetro byte que identifica qual o tipo de cor que
iremos usar (os valores so 0:para vermelho, 1 para verde e 2 para azul, esses valores
correspondemas posies do array hexCor)

Modifique o mtodo onCreate conforme figura a seguir.


Para cada objeto SeekBar associamos o element de tela e definimos o evento com base na
criao de um objeto da classe EventoSeek enviando o cdigo da cor correspondente barra
que estamos utilizando. Associamos os objetos corSelecionada e barraCor aos elementos da
tela, e chamamos o mtodo mudarCor() para granatir que a tela visualizada com todas as
informaes.

Adicione o mtodo acertaCor() conforme mostra a figura a seguir:

private void acertarCor(int p, byte cor){


String c = Integer.toHexString(p);
hexCor[cor] = (c.length() == 2?"":"0") + c;
mudaCor();
}

Este mtodo responsvel por definir na posio da cor, no Array hexCor, o seu valor em
hexadecimal.

Adicione o mtodo mudaCor() conforme mostra a figura a seguir:

private void mudarCor(){


corSelecionada.setText("#" + hexCor[0] + hexCor[1] + hexCor[2]);
barraCor.setBackgroundColor(Color.parseColor("#" + hexCor[0] +
hexCor[1] + hexCor[2]));
}

S-ar putea să vă placă și