自定义(圆形)切换按钮

时间:2010-08-17 17:41:39

标签: android button toggle

我正在尝试在Android中构建自定义切换按钮,我希望它看起来像单选按钮但功能为切换按钮。有人可以帮我弄这个吗?任何线索提示接近答案表示赞赏。

3 个答案:

答案 0 :(得分:10)

您需要通过一些自定义xml覆盖切换按钮的外观

快速概述:

  • 创建具有按钮外观的png文件,如果您喜欢单选按钮,请从... \ eclipse_android-sdk-windows \ platforms \ android-8 \ data \ res \ drawable-hdpi
  • 布局xml中的
  •        android:background =“@ drawable / round_toggle”/>

  • 在round_toggle.xml中添加具有多个状态(最多6个默认值)的选择器

    <?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>
    

http://www.anddev.org/act_custom_togglebuttons-t10620.html

中的完整详情

答案 1 :(得分:4)

为什么不使用单选按钮视图和RadioGroup布局?

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());                   
     }
});

答案 2 :(得分:0)

您可以尝试重新设置一个复选框。以下链接是关于这样做的教程:

link