domingo, 29 de octubre de 2017

06 Android. Marcador Basket

Creamos una aplicacion en la que iremos reflejando el marcador del equipo local y visitante de un partido de baloncesto.


En el codigo podras ver que se me paso poner las variables de los marcadores a cero cuando se pulsa el boton de Reset, en el metodo borra debes añadir puntuacionLocal=0 y puntuacionVisitante=0.
En unos dias lanzare un video mejorando la estetica de esta aplicacion, en ese video añadire el codigo de borrado de variables.

MainActivity
package ticoticotaa.es.marcadorbaloncesto;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity 
implements View.OnClickListener {
    public TextView marcadorLocal, marcadorVisitante,titulo;
    public Button btn1Local,btn2Local,btn3Local,
btn1Visitante,btn2Visitante,btn3Visitante,btnReset;
    public int puntuacionLocal,puntuacionVisitante,puntos;
    @Override    protected void onCreate(Bundle 
savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        titulo=(TextView)findViewById(R.id.tvTitulo);
        titulo.setText("Marcador Basket");
        marcadorLocal=(TextView)findViewById
(R.id.tvMarcadorLocal);
        marcadorVisitante=(TextView)findViewById
(R.id.tvMarcadorVisitante);
        marcadorLocal.setText("Local: "+0);
        marcadorVisitante.setText("Visitante: "+0);
        btn1Local=(Button)findViewById(R.id.btnLocal1);
        btn2Local=(Button)findViewById(R.id.btnLocal2);
        btn3Local=(Button)findViewById(R.id.btnLocal3);
        btn1Visitante=(Button)findViewById(R.id.btnVisitante1);
        btn2Visitante=(Button)findViewById(R.id.btnVisitante2);
        btn3Visitante=(Button)findViewById(R.id.btnVisitante3);
        btnReset=(Button)findViewById(R.id.btnReset);
        btn1Local.setOnClickListener(this);
        btn2Local.setOnClickListener(this);
        btn3Local.setOnClickListener(this);
        btn1Visitante.setOnClickListener(this);
        btn2Visitante.setOnClickListener(this);
        btn3Visitante.setOnClickListener(this);
        btnReset.setOnClickListener(this);
    }

    @Override    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btnLocal1:
                incrementa(1,1);
                break;
            case R.id.btnLocal2:
                incrementa(1,2);
                break;
            case R.id.btnLocal3:
                incrementa(1,3);
                break;
            case R.id.btnVisitante1:
                incrementa(2,1);
                break;
            case R.id.btnVisitante2:
                incrementa(2,2);
                break;
            case R.id.btnVisitante3:
                incrementa(2,3);
                break;
            case R.id.btnReset:
                borra();
                break;
        }
    }
    public void incrementa(int equipo, int puntos){
        if (equipo==1){
            puntuacionLocal=puntuacionLocal+puntos;
            marcadorLocal.setText("Local: "+puntuacionLocal);
        }else{
            puntuacionVisitante=puntuacionVisitante+puntos;
            marcadorVisitante.setText("Visitante: "
+puntuacionVisitante);
        }
    }
    public void borra(){
        marcadorLocal.setText("Local: "+0);
        marcadorVisitante.setText("Visitante: "+0);
    }
}

Activity_main xml

<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout
 xmlns:android="http://schemas.android.com/apk/res/android"  
  xmlns:app="http://schemas.android.com/apk/res-auto"  
  xmlns:tools="http://schemas.android.com/tools" 
   android:layout_width="match_parent"    android:layout_height="match_parent"   
 tools:context="ticoticotaa.es.marcadorbaloncesto.MainActivity">

    <LinearLayout      
  android:layout_width="match_parent"    
    android:layout_height="match_parent"     
   android:orientation="vertical">

        <TextView            android:id="@+id/tvTitulo"         
   style="@style/texto" />

        <LinearLayout           
 android:layout_width="match_parent"      
      android:layout_height="wrap_content"     
       android:gravity="center"       
     android:orientation="horizontal">

            <LinearLayout             
   android:layout_width="wrap_content"              
  android:layout_height="wrap_content"              
  android:orientation="vertical">

                <TextView               
     android:id="@+id/tvMarcadorLocal"          
          style="@style/texto" />

                <Button                 
   android:id="@+id/btnLocal2"                
    style="@style/boton"              
      android:text="@string/dosPuntos"/>

                <Button                 
   android:id="@+id/btnLocal3"             
       style="@style/boton"                
    android:text="@string/tresPuntos"                    />

                <Button                 
   android:id="@+id/btnLocal1"            
        style="@style/boton"              
      android:text="@string/unPunto"/>
            </LinearLayout>

            <LinearLayout             
   android:layout_width="wrap_content"            
    android:layout_height="wrap_content"          
      android:orientation="vertical">

                <TextView                
    android:id="@+id/tvMarcadorVisitante"          
          style="@style/texto" />

                <Button              
      android:id="@+id/btnVisitante2"                
    style="@style/boton"                 
   android:text="@string/dosPuntos"/>

                <Button                 
   android:id="@+id/btnVisitante3"         
           style="@style/boton"             
       android:text="@string/tresPuntos"/>

                <Button            
        android:id="@+id/btnVisitante1"       
             style="@style/boton"            
        android:text="@string/unPunto"/>
            </LinearLayout>
        </LinearLayout>

        <Button       
     android:id="@+id/btnReset"        
    style="@style/boton"       
     android:text="@string/reset"/>
    </LinearLayout>

</android.support.constraint.ConstraintLayout>
Styles

<resources>

    <!-- Base application theme. -->   
 <style name="AppTheme"
 parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->  
      <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">
@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
<style name="boton">
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:padding">10dp</item>
    <item name="android:layout_margin">10dp</item>
    <item name="android:background">
@color/colorPrimaryDark</item>
    <item name="android:layout_gravity">center</item>
    <item name="android:gravity">center</item>
    <item name="android:textColor">@color/colorAccent</item>
</style>
    <style name="texto">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:textSize">24sp</item>
        <item name="android:textColor">@color/colorAccent</item>
        <item name="android:gravity">center</item>
        <item name="android:textColor">@color/colorAccent</item>
    </style>
</resources>