Mostrando entradas con la etiqueta variables. Mostrar todas las entradas
Mostrando entradas con la etiqueta variables. Mostrar todas las entradas

miércoles, 1 de noviembre de 2017

07 Android. Esquinas redondeadas en botones

Se añade codigo para poner las variables a 0 de la aplicacion MarcadorBaloncesto del video anterior, tambien se ve como redondear las esquinas de los botones y como añadir colores al archivo colors.xml.


esquinaredondeada
<?xml version="1.0" encoding="utf-8"?><shape xmlns:
android="http://schemas.android.com/apk/res/android"   
 android:shape="rectangle">
    <solid android:color="#ffffff"/>
    <stroke android:width="3dp"           
 android:color="#ff000000"/>
    <padding android:left="1dp"           
 android:top="1dp"            android:right="1dp"        
    android:bottom="1dp"/>
    <corners android:radius="30px"/>
</shape>
colors

<?xml version="1.0" encoding="utf-8"?><resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
    <color name="colorAmarillo">#ffe940</color>
    <color name="colorVerde">#40ff53</color>
</resources>
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">@drawable/
esquinaredondeada</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/colorAmarillo
</item>
        <item name="android:gravity">center</item>

    </style>
    <style name="titulo">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:textSize">32sp</item>
        <item name="android:textColor">@color/colorVerde</item>
        <item name="android:gravity">center</item>

    </style>
</resources>
activity_main

<?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/titulo" />

        <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>
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);
        puntuacionLocal=0;
        puntuacionVisitante=0;
    }
}




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>

sábado, 25 de marzo de 2017

10. Juego del topo con App Inventor

En este video vemos como crear un juego, en este caso creamos el juego del topo, bastante conocido y que nos sirve para ver como dar movimiento a la imagen cambiando su posicion al azar, veremos tambien condicionales, funciones o metodos, variables, etc.
Podeis ver el video aqui:



Os pongo tambien imagenes del codigo y diseño de las pantallas.







domingo, 8 de enero de 2017

05. Variables con AppInventor

En este video se muestra como manejar variables con AppInventor, para ello programamos un ejemplo de aplicacion android en la que se suman dos valores introducidos por el usuario en los cuadros de textos.