Android: Elementos básicos (II)

En este segundo post vamos a ver cómo crear imágenes y los elementos de selección checkbox y radio.

IMÁGENES

Android tiene dos elementos para añadir imágenes a nuestra aplicación: ImageView e ImageButton, análogos a TextView y Button respectivamente. La imagen a mostrar se indica en el atributo XML android:src o con el método setImageResource(int).

¿Cómo cargar la imagen res/drawable/myimage.png? (2 ejemplos)

ImageView iv= (ImageView) findViewById(R.id.myimageview);
iv.setImageResource(R.drawable.myimage);
Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.myimage);

¿Cómo crear una imagen con XML?

<ImageButton android:id="@+id/myimageview"     
  android:layout_height="wrap_content"     
  android:layout_width="wrap_content"     
  android:src="@drawable/myimage" />

CHECKBOX

El nombre de un checkbox en Android es fácil de recordar, ya que es igual, Checkbox. En Java, podemos registrar un listener OnCheckedChangeListener, que notifique cuando se selecciona o deselecciona el checkbox:

<CheckBox android:id="@+id/my_check"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Unchecked" />
 public class My_Checkbox extends Activity 

implements CompoundButton.OnCheckedChangeListener {    CheckBox cb;    @Override    public void onCreate(Bundle icicle) {        super.onCreate(icicle);        setContentView(R.layout.main);        cb=(CheckBox)findViewById(R.id.my_check);        cb.setOnCheckedChangeListener(this);    }    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {        if (isChecked)  cb.setText("Checked");        else cb.setText("Unchecked");    } }

RADIO

Un radio en Android es un RadioButton y un grupo de radios, RadioGroup, donde sólo un radio podrá estar seleccionado.

¿Cómo crear un grupo de radios en XML?

<RadioGroup
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical">
      <RadioButton android:id="@+id/radio_red"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Red" />
      <RadioButton android:id="@+id/radio_blue"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Blue" />
</RadioGroup>

¿Cómo podemos mostrar un mensaje cuando se selecciona un radio?

Creamos la acción a realizar con View.OnClickListener:

private OnClickListener radio_listener = new OnClickListener() {
   public void onClick(View v) {
     // Perform action on clicks
     RadioButton rb = (RadioButton) v;
     Toast.makeText(My_Class.this, rb.getText(), 
              Toast.LENGTH_SHORT).show();
   }
};

En el método onCreate, asociamos los radios con el listener:

final RadioButton radio_red = (RadioButton) findViewById(R.id.radio_red);
final RadioButton radio_blue = (RadioButton) findViewById(R.id.radio_blue);
radio_red.setOnClickListener(radio_listener);
radio_blue.setOnClickListener(radio_listener);
Referencias:

Deja un comentario