Buenas.
Hay alguna forma de crear un RadioGrupo de Botones por ejemplo ToogleButtons que tengan la misma funcionalidad que los radiobotones pero con diferente apariencia?
Lo intento con ToogleButtons pero no sale el efecto deseado . Con Buttons tampoco creo que se pueda porque no tienen metodo checked.
Quiero que cuando pulse un boton se desactiven los demas, con su fondo que de sensacion de boton pulsado etc.
Alguna otra manera de conseguir el mismo efecto???
Hasta aqui mis intentos pero no creo que este bien:
Código:
<RadioGroup android:id="@+id/toggleGroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="@string/text4x3"
android:textOff="@string/text4x3"
android:background="@drawable/toggle_style"
android:checked="true"
/>
<ToggleButton
android:id="@+id/toggleButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="@string/text6x4"
android:textOff="@string/text6x4"
android:background="@drawable/toggle_style"
/>
<ToggleButton
android:id="@+id/toggleButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="@string/text8x5"
android:textOff="@string/text8x5"
android:background="@drawable/toggle_style"
/>
<ToggleButton
android:id="@+id/toggleButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="@string/text10x7"
android:textOff="@string/text10x7"
android:background="@drawable/toggle_style"
/>
</RadioGroup>
Donde toggle_style.xml:
Código:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="false" android:drawable="@drawable/shape1" ></item>
<item android:state_checked="true" android:drawable="@drawable/shape_botonstartgame" ></item>
</selector>
En el onCreate:
Código:
((RadioGroup) findViewById(R.id.toggleGroup)).setOnCheckedChangeListener(ToggleListener);
Creo una clase pero no hace el efecto deseado:
Código:
final RadioGroup.OnCheckedChangeListener ToggleListener = new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(final RadioGroup radioGroup, final int i) {
for (int j = 0; j < radioGroup.getChildCount(); j++) {
final ToggleButton view = (ToggleButton) radioGroup.getChildAt(j);
if( view.getId() == i){
view.setChecked(true);
}
else {
view.setChecked(false);
}
}
}
};
Alguna Idea?????