Академический Документы
Профессиональный Документы
Культура Документы
Layout Principal
Acesse a pasta res/layout e abra o arquivo activity_vermelho com clique duplo. O seu
editor ser aberto atravs de um editor grfico chamado Graphical Layout, selecione
a aba ao lado activity_vermelho para trabalharmos no seu cdigo fonte.
Faa as seguintes alteraes no cdigo fonte.
<LinearLayout
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=".VermelhoActivity"
android:gravity="center"
android:background="@color/vermelho"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</LinearLayout>
A primeira propriedade indica que todos os elementos internos so centralizados, e a segunda define a cor de fundo
desta janela ( mostrado um erro informando que no existe este recurso).
Arquivo de Recursos
Selecione a pasta values e na barra de ferramentas clique em New
e nomei como cores e clique em finish.
Vamos trabalhar com o arquivo XML ao invs do Editor de Recursos. Na aba inferior clique em cores.xml.
Modifique este arquivo com a seguinte codificao.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="vermelho">#F00</color>
</resources>
Os arquivos de recursos contem um elemento que possui o nome do recurso a ser utilizado (neste caso uma
cor (color) ), um atributo com seu nome (name) e no contedo do elemento, seu valor, no caso da cor um padro
hexadecimal RGB.
Construo do Layout Vermelho
Retornando ao arquivo activity_vermelho, podemos checar que a linha que estava com erro foi corrigida.
Modifique o elemento TextView:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="20dp"
android:textColor="@color/preto"
android:text="@string/pare" />
Abra o arquivo strings.xml, que se encontra na pasta values. Na aba inferior, selecione strings.xml e observe
que j existem dois elementos. Modifique este arquivo de recursos conforme a seguinte codificao.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Pare e Ande</string>
<string name="action_settings">Settings</string>
<string name="pare">Ateno: PARE</string>
</resources>
No elemento Button indicamos atravs do atributo layout_width que o elemento ocupa todo o espao
horizontal, e no atributo layout_height definimos que o elemento possui uma largura conforme o seu contedo.
A propriedade id indica um identificador para esse elemento, ao usarmos o prefixo @+id, indicamos ao
Android Tools que esse identificador no existe e que deve ser criado na classe R. A propriedade text define o texto
dentro do boto. Insira o seguinte elemento no arquivo strings.xml.
<string name="btTrocar">Trocar Cor</string>
Nosso primeiro Layout est finalizado. Retorne para o arquivo activity_vermelho, e clique na aba Graphical
Layout e veja como ficou.
Construo do Layout Verde
Vamos criar outro layout que corresponde a cor verde. Selecione a pasta layout e clique no boto New
nomeie verde e clique em finish. Modifique esse layout conforme a seguinte codificao:
Essa janela quase um espelho da outra, sendo que os cdigos so identicos, salvo a troca do valor dos
atributos. Enquanto a primeira janela mostra a cor vermelha de fundo, esta mostra a cor verde. Na primeira, o
TextView indica pare, e aqui indica ande.
Outro diferena esta no boto deste layout que no possui o @+id. Isso ocorre porque este identificador foi
criado para o projeto, e no devemos criar outro com o mesmo nome. So mostrados nesse arquivo dois erros
indicando que faltam elementos. Adicione um elemento no aquivo cores.xml.
<color name="verde">#0F0</color>
Posicione o curso sobre o erro na classe view e clique em import, para importar os pacotes necessrios.
Inicialmente enviamos a instncia do estado desta atividade para a classe Pai. O mtodo setContentView()
associa a atividade ao layout atravs do seu identificador, encontrado na classe R (criado manualmente pela
AndroidTools).
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. criado um objeto que implementa a interface Listener e,
definido que quando ocorrer o evento de ao, disparada a instruo de chamar um mtodo chamarOutra().
Criar uma Nova Atividade
Vamos dar um tempo nesta atividade (provavelmente est com erra na linha da chamada do mtodo, pode
deix-la assim, em breve corrigiremos). Selecione o pacote com.projeto.pareande clique com o boto direito e
selecione New/Class.
Agora preencha com os dados abaixo e clique em finish.
Insira o mtodo OnCreate() conforme a seguinte
codificao:
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.verde);
Button btTrocar =
(Button)findViewById(R.id.btTrocar);
btTrocar.setOnClickListener(new
View.OnClickListener(){
public void onClick(View v){
chamarOutra();
}
});
}
</activity>
<activity
android:name=".VerdeActivity"
android:label="@string/app_name"
></activity>
</application>
Para adicionar uma nova atividade criamos um novo elemento activity, e informamos qual a classe desta
atividade (CUIDADO: comea com . De modo a juntar com o nome do pacote) no atributo android:name e no
ttulo a janela no atributo android:label. Retorne para a classe VermelhoActivity e complete-a com o mtodo
chamarOutra(). Coloque-o abaixo do mtodo OnCreate();
private void chamarOutra(){
startActivity(new Intent(this, VerdeActivity.class));
}
Obs:Caso aparea algum erro no Intent, posicione o curso sobre e clique em import.
Para chamar outra atividade usamos o mtodo startActivity(). Este mtodo recebe um objeto contendo a
nossa inteno. Uma inteno um objeto classe android.content.Intent que corresponde a qualquer ao que
pretendemos que o aparelho realize, neste caso chamar outra atividade. O construtor recebe dois parmetros: o
objeto da classe origem e classe de destino.
Na classe VerdeActivity complete-a com o mtodo chamarOutra() colocando-o abaixo do mtodo OnCreate()
conforme a seguinte codificao:
private void chamarOutra(){
finish();
}