【问题标题】:How to get radio button appearance in checkbox?如何在复选框中获得单选按钮外观?
【发布时间】:2020-07-01 19:53:12
【问题描述】:

我只是尝试使用不同的复选框,它们的外观应该看起来像一个单选按钮,它就像一个内部带有绿灯的圆形按钮。 google了很久没找到解决办法,请问有什么办法吗?

提前致谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    更好的方法是设置 CheckBox 的样式以匹配 RadioButton 的样式。

    @android:style/Widget.CompoundButton.RadioButton

    使 CheckBox 看起来像这样

    <CheckBox style="@android:style/Widget.CompoundButton.RadioButton" />
    

    效果很好!我的回答很受启发by this post.

    【讨论】:

    • 这对我很有帮助。
    【解决方案2】:

    您可以将复选框的背景(图像)更改为您想要的任何内容(比如样式而不是布局,更优雅),这样您就可以拥有类似单选按钮的复选框。

    请查看this short tutorial,它将向您展示实现目标所需采取的步骤。

    【讨论】:

      【解决方案3】:

      正如 apostolov 所说,要使您的复选框看起来像一个单选按钮,您可以像这样简单地设置复选框样式

      <CheckBox style="@android:style/Widget.CompoundButton.RadioButton" />
      

      但是,如果您像我一样希望单选按钮的强调色与应用主题的强调色不同。您可能希望采取以下方法:

      在您的复选框上设置以下属性:

      <CheckBox
            android:button="?android:attr/listChoiceIndicatorSingle"
            android:theme="@style/RadioButtonPink"
            />
      

      第一个属性使您的复选框具有 android 单选按钮的外观,第二个主题属性是自定义按钮的重音和正常颜色。在你的 styles.xml 文件中定义你想要使用的主题:

      <style name="RadioButtonPink">
          <item name="colorAccent">@color/pink</item>
          <item name="colorControlNormal">@color/grey</item>
          <item name="colorControlActivated">@color/grey</item>
      </style>
      

      在我的例子中,当按钮被选中时,我想要粉红色的强调色,否则为灰色。

      【讨论】:

        【解决方案4】:

        是的,正如 rakaszeru 所说,请尝试上述选项,否则您可以通过扩展实现其 onDraw() 方法的复选框小部件来制作自己的自定义复选框组件

        【讨论】:

          猜你喜欢
          • 2011-09-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-07
          • 1970-01-01
          • 2021-09-28
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多