Tutorial Forca #3 - Tela inicial e ação dos botões
Bom pessoal, dando continuidade ao tutorial, vamos fazer agora a tela inicial e a ligação entre as telas, para vocês já irem vendo o app funcionar.
Primeiro vamos alterar a tela inicial (activity_main.xml), deixando-a conforme segue abaixo:
Já fiz a adição de algumas imagens a mais que serão utilizadas mais para frente. Elas podem ser baixadas aqui e colocadas todas naquela pasta res/drawable criada no post anterior.
A tela deve ficar mais ou menos assim:
Vamos alterar a nossa activity principal agora (MainActivity) retirando o trecho que cria o menu, que não será necessário para nós e adicionando as ações dos botões que criamos, deixando o arquivo assim:
Com a ação do botão para iniciar o jogo implementada, precisamos criar a classe GameActivity que é onde o jogo rodará.
Vou apenas criar a classe nesta etapa, e na próxima vou implementar as ações dela. Ela vai ficar mais ou menos assim:
Até a próxima pessoal!!
Ah... se tiverem alguma dúvida/sugestão é só postar aí! Valeu!
Primeiro vamos alterar a tela inicial (activity_main.xml), deixando-a conforme segue abaixo:
<RelativeLayout 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" >
<Button
android:id="@+id/bSair"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp"
android:layout_marginLeft="85dp"
android:layout_marginRight="85dp"
android:text="Sair" />
<Button
android:id="@+id/bStart2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_above="@id/bSair"
android:layout_marginLeft="35dp"
android:layout_marginRight="35dp"
android:text="2 Jogadores" />
<Button
android:id="@+id/bStart1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_above="@id/bStart2"
android:layout_marginLeft="35dp"
android:layout_marginRight="35dp"
android:text="1 Jogador" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_above="@id/bStart1"
android:layout_margin="30dp"
android:src="@drawable/forca_0" />
<ImageView
android:id="@+id/ivConfig"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_marginLeft="20dp"
android:layout_marginBottom="20dp"
android:src="@drawable/config" />
</RelativeLayout>
Já fiz a adição de algumas imagens a mais que serão utilizadas mais para frente. Elas podem ser baixadas aqui e colocadas todas naquela pasta res/drawable criada no post anterior.
A tela deve ficar mais ou menos assim:
Vamos alterar a nossa activity principal agora (MainActivity) retirando o trecho que cria o menu, que não será necessário para nós e adicionando as ações dos botões que criamos, deixando o arquivo assim:
package br.com.blogspot.androidandrekunde.forcalite;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bStart1 = (Button) findViewById(R.id.bStart1);
Button bStart2 = (Button) findViewById(R.id.bStart2);
Button bSair = (Button) findViewById(R.id.bSair);
bStart1.setOnClickListener(this);
bStart2.setOnClickListener(this);
bSair.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.bStart1:
Intent i = new Intent(MainActivity.this, GameActivity.class);
startActivity(i);
break;
case R.id.bStart2:
// Vamos apenas "mapear" este click por enquanto
Toast.makeText(getApplicationContext(), "2 Jogadores", Toast.LENGTH_SHORT).show();
break;
case R.id.bSair:
finish();
}
}
}
Logo no começo da Activity, eu implementei o método OnClickListener, pois acho que fica um pouco mais fácil de lidar com as ações dos botões.Com a ação do botão para iniciar o jogo implementada, precisamos criar a classe GameActivity que é onde o jogo rodará.
Vou apenas criar a classe nesta etapa, e na próxima vou implementar as ações dela. Ela vai ficar mais ou menos assim:
package br.com.blogspot.androidandrekunde.forcalite;
import android.app.Activity;
import android.os.Bundle;
public class GameActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
}
}
Depois disso, basta apenas declará-la no AndroidManifest e é para estar mostrando as duas telas já.
<activity android:name=".GameActivity" />Para quem quiser baixar o projeto todo, acesse aqui.
Até a próxima pessoal!!
Ah... se tiverem alguma dúvida/sugestão é só postar aí! Valeu!
Este comentário foi removido pelo autor.
ResponderExcluircriei um botão dessa forma, mas quando rodo no AVD o aplicativo e clico no botão aparece "Unfortunately has stopped" . Por que isso está ocorrendo?
ResponderExcluirProvavelmente você criou o botão na view que não está mapeada
ExcluirProvavelmente você criou o botão na view que não está mapeada.
ResponderExcluirO Projeto não esta mais disponivel para download, poderia disponibilizar novamente ?
ResponderExcluir