entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Android - CheckBox con texto por debajo de una imagen

Hola.

Tengo un formulario con varios Checkbox. El usuario puede seleccionar todos los que desee. Los checkbox tienen asociada una imagen la cual cambia de color al ser seleccionada. El problemas es que el texto relacionado con el CheckBox se situa a la derecha de la imagen:


CheckBoxIcon text
CheckBoxIcon text
CheckBoxIcon text

Yo quiero que el texto se situé por debajo de la imagen.

CheckBoxIcon
text

CheckBoxIcon
text

CheckBoxIcon
text

En la web encontré este enlace el cual indica que se debe de usar CheckTextView en lugar de CheckBox. Pero me parece increible que no se pueda hacer lo mismo con CheckBox. De todas formas implemneto el CheckTextView pero la imagen no cambia al ser pulsada.

Mi código:

    <CheckedTextView android:id="@+id/checkBLC" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/baloncesto" android:checked="true" android:drawableTop="@drawable/checkbox_blc">

checkbox_blc.xml

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_checked="true" android:drawable="@drawable/blcselect">
  <item android:state_checked="false" android:drawable="@drawable/blc">
</selector>

En el siguiente enlace indican que se debe de implementar un setOnClickListener por cada CheckedTextView. Cosa que tampoco me parece útil ya que tengoun formulario con unas 50 opciones.

Saludos y Gracias.

0voto

egoitz_gonzalez comentado

Para que la imagen cambe debo de sustituir la linea android:drawableTop por android:checkMark.

y en el código java añadir lo siguiente:

        checkBaloncesto.toggle();

    checkBaloncesto.setChecked(false);

    checkBaloncesto.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(checkBaloncesto.isChecked()){
                blc = false;
                checkBaloncesto.setChecked(false);
                //checkBaloncesto.setCheckMarkDrawable(R.drawable.blc);
                //checkResultArray.add("BLC");
                Log.e("Checking", "BuscarInstalacionesActividadActivity. onClickListener. blc FALSE");
                }else{
                    blc = true;
                    checkBaloncesto.setChecked(true);
                    //checkBaloncesto.setCheckMarkDrawable(R.drawable.blcselect);
                    Log.e("Checking", "BuscarInstalacionesActividadActivity. onClickListener. blc TRUE");
                }
        }
    });

Como comento. Me parece muy poco útil sobre todo si tenemos muchos checkTextView-s. Ademas vuelvo al problema inicial. La imposibilidad de colocar la imagen encima del texto.

Mi intención es insertar numerosos checkBox o checktextViews en un grid.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta