I am trying to build a custom toggle button in Android, I want it to look like radio button but function as toggle button. Can some one help me with this? any clue hints close to answer is appreciated.
You need to override the look of the toggle button via some custom xml
quick overview:
in your layout xml android:background="@drawable/round_toggle" />
add selectors with as many states (up to 6 + default) in round_toggle.xml
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/roundtoggle_on_pressed" /> <item android:state_checked="true" android:state_focused="true" android:drawable="@drawable/roundtoggle_on_focused" /> <item android:state_checked="true" android:state_focused="false" android:drawable="@drawable/roundtoggle_on_normal" /> <item android:state_checked="false" android:state_pressed="true" android:drawable="@drawable/roundtoggle_off_pressed" /> <item android:state_checked="false" android:state_focused="true" android:drawable="@drawable/roundtoggle_off_focused" /> <item android:state_checked="false" android:state_focused="false" android:drawable="@drawable/roundtoggle_off_normal" /> <item android:drawable="@drawable/roundtoggle_off_normal" /> </selector>
full details in http://www.anddev.org/act_custom_togglebuttons-t10620.html
Why not use the RadioButton view and RadioGroup layout?
RadioButton myRadioButton = (RadioButton)findViewById(R.id.myradiobutton);
myRadioButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Toggle the radio button on click.
RadioButton button = (RadioButton)v;
button.setChecked(!button.isChecked());
}
});
You could try re-skinning a checkbox. The following link is a tutorial on doing so:
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.