programacion android - Añadir un botón a un layout y añadir código en el evento onClick

Añadir un botón a un layout y añadir código en el evento onClick

Añadir un botón desde Graphical Layout o manualmente desde fichero XML

Explicaremos a continuación cómo añadir un botón (Button) a una apliación Android en Eclipse, en primer lugar ya tendremos creado el Layout de nuestra aplicación (ventana principal). En este layout que podemos abrir desde "res" - "layout", haremos doble click sobre "activity_ajpdsoft_linterna.xml" (puede tener cualquier otro nombre). Eclipse nos mostrará la edición gráfica del layout con los posibles componentes a agregar, en el grupo "Form Widgets" de la ventana "Palette" seleccionaremos "Button":
Añadir un botón a un layout y añadir código en el evento onClick
Y lo arrastraremos al lugar del layout donde queramos que aparezca:
Añadir un botón a un layout y añadir código en el evento onClick
Seleccionando el nuevo botón, Eclipse nos mostrará en la parte derecha la ventana "Properties" donde indicaremos las dos propiedades más importantes:
  • Id: nombre que identificará el Button para referenciarlo en el código Java, por ejemplo "@+id/btURL" (siempre indicaremos "@+id/nombre_identificativo":
Añadir un botón a un layout y añadir código en el evento onClick
  • La otra propiedad importante para el Button será el texto que se mostrará al usuario, tendremos dos posibilidades:
    • Lo podemos escribir directamente en la propiedad "Text" (no es recomendable).
    • Antes de asignarle un texto al Button crearemos un "Value" en "Resources". Para ello seguiremos los siguientes pasos, abriremos las siguientes carpetas en "Project Explorer": "res" - "values", haremos doble click en "strings.xml". En la parte derecha Eclipse nos mostrará los values actuales, pulsaremos "Add":
Añadir un botón a un layout y añadir código en el evento onClick
Seleccionaremos "String" y pulsaremos "OK":
Añadir un botón a un layout y añadir código en el evento onClick
Introduciremos un nombre identificativo para el nuevo String en "Name", por ejemplo "text_url" y un valor en "Value", por ejemplo "Visitar web". Cerraremos el fichero "strings.xml" y guardaremos los cambios:
Añadir un botón a un layout y añadir código en el evento onClick
En realidad lo único que hemos hecho es añadir la siguiente línea al fichero "strings.xml":
<string name="text_url">Visitar web</string>
Una vez añadido el string volveremos al layout, seleccionaremos el Button y en la propiedad "Text" pulsaremos el botón "...":
Añadir un botón a un layout y añadir código en el evento onClick
En la ventana de selección de recurso (Resource Chooser) seleccionaremos el string añadido anteriormente "text_url":
Añadir un botón a un layout y añadir código en el evento onClick
De esta forma desde "Graphical layout" ya tendremos el botón añadido a la ventana principal de la aplicación Android:
Añadir un botón a un layout y añadir código en el evento onClick
Como casi todo en Eclipse, podremos ver y modificar e incluso añadir cualquier componente editando directamente el fichero correspondiente al layout, pulsando en la parte inferior del layout abierto en el fichero xxx.xml, veremos el código XML necesario para añadir cualquier componente de nuestra aplicación, enmarcamos en rojo el código XML que ha añadido el diseñador gráfico de forma automática para nuestro botón:
Añadir un botón a un layout y añadir código en el evento onClick
El código XML para añadir un botón en Eclipse para aplicaciones Android:
<Button
android:id="@+id/btURL"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btAjpdSoft"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:text="@string/text_url" />

Asignar código a evento onClick de un botón en Eclipse para aplicaciones Android

Abriremos el fichero xxx.java de nuestra aplicación que estará en el "Project Explorer", en la carpeta "src", en nuestro caso "AjpdSoftLinterna.java". Para trabajar con un Button deberemos tener un import al principio del programa:
import android.widget.Button;
En la clase de la aplicación añadiremos la siguiente línea:
private Button btURL;
(donde "btURL" será el nombre que le hayamos asignado al botón al crearlo en el layout, la propiedad "Id")
Asignar código a evento onClick de un botón en Eclipse para aplicaciones Android
Por último añadiremos dentro de "public void onCreate..." las siguientes líneas de código Java para crear el evento OnClick, que será el código que se ejecute cuando el usuario pulse en el botón:
        btURL = (Button) findViewById(R.id.btURL);
        btURL.setOnClickListener(new OnClickListener() 
        {

            @Override
            public void onClick(View v) 
            {
             Intent browserIntent = 
              new Intent(Intent.ACTION_VIEW, 
                Uri.parse("http://www.ajpdsoft.com"));
             startActivity(browserIntent);
            }
        });
El código anterior permitirá que cuando el usuario pulse en el botón se abrirá el navegador por defecto y se navegará a la URL indicada. Para que funcione el código anterior hay que añadir dos imports al principio:
import android.net.Uri;
import android.content.Intent;
Ahora probaremos la aplicación en el emulador, para ello pulsaremos en "Run" - "Run":
Asignar código a evento onClick de un botón en Eclipse para aplicaciones Android
Si todo es correcto se ejecutará la aplicación en el emulador, mostrando nuestro nuevo botón "Visitar web":
Asignar código a evento onClick de un botón en Eclipse para aplicaciones Android
Si el usuario de nuestra aplicación Android desarrollada con Eclipse pulsa en el botón se abrirá el navegador por defecto de nuestro dispositivo Android y se visitará la URL "www.ajpdsoft.com":
Asignar código a evento onClick de un botón en Eclipse para aplicaciones Android


http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=603

SHARE

Oscar perez

Arquitecto especialista en gestion de proyectos si necesitas desarrollar algun proyecto en Bogota contactame en el 3006825874 o visita mi pagina en www.arquitectobogota.tk

  • Image
  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

0 comentarios:

Publicar un comentario