【问题标题】:Custom (round) toggle button自定义(圆形)切换按钮
【发布时间】:2011-03-31 03:15:51
【问题描述】:

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

【问题讨论】:

    标签: android button toggle


    【解决方案1】:

    您需要通过一些自定义 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中的详细信息

    【讨论】:

      【解决方案2】:

      为什么不使用 RadioButton 视图和 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());                   
           }
      });
      

      【讨论】:

      • 现在会尝试让你知道,我不能将它们分组为 Radio Group,我想要单独的 readio 按钮,用于切换/复选框的目的
      • 如果这在过去有效,它现在不再适用于运行 2.1u1 的 HTC Hero。
      【解决方案3】:

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

      link

      【讨论】:

      • 您好 Andrew,感谢您的回复,但我不想显示刻度线。因此,我想要一个单选按钮外观,如果您知道如何在单击时将单选按钮设置为 true,然后在单击时再次设置为 false,请告诉我。
      猜你喜欢
      • 2018-12-30
      • 2012-04-10
      • 1970-01-01
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 2018-08-05
      • 2015-03-31
      相关资源
      最近更新 更多