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