【问题标题】:Hide radio button icon but not text隐藏单选按钮图标但不隐藏文本
【发布时间】:2013-09-01 00:14:12
【问题描述】:

我需要隐藏单选按钮的图标:例如将其设置为不可见,但只有图标,而不是文本(setInvisible 也隐藏文本)。图标仍应占用空间,以便文本与其他单选按钮的文本对齐。此外,单选按钮(其文本)应该是可点击的。

换句话说,我想要的是让图标“透明”(不可见),否则“在那里”:可点击,占用空间。

我需要以编程方式执行此操作,而不是在 XML 中。

有什么想法吗?

【问题讨论】:

  • 您可以创建一个没有文本的 RadioButton,并在其左侧创建一个包含 RadioButtons 描述的 TextView。
  • @PhilippJahoda 好主意,但在我的情况下很难应用,因为我需要将按钮从“正常”转到“无图标”并返回

标签: android radio-button visibility


【解决方案1】:

XML:

<RadioButton
   android:paddingLeft="31dp"
   android:button="@android:color/transparent" />

Java:

RadioButton myButton = (RadioButton) findViewById(R.id.radio);
   myButton.setButtonDrawable(android.R.color.transparent);
   myButton.setPadding(31, 0, 0, 0);

setPadding() 采用 int 值表示以像素为单位的填充, 请参阅Definition@Google,以便根据需要调整 Padding。

【讨论】:

  • @MBennett 谢谢。它可以工作,除了"31dp"(字符串)不允许作为setPadding 的第一个参数。我已经把它改成了(int) (31*getResources().getDisplayMetrics().density + 0.5f,以便从31dp转换成像素。也许你想相应地改变你的答案。原来它太窄了,也许我得玩一下宽度。还是我做错了转换?
  • 34dp(转换为像素)似乎适用于 Android 4.0。在 2.3 中需要稍大的值
  • 这对我有用 myButton.setButtonDrawable(android.R.color.transparent); 其中myButton.setButtonDrawable(null); 不感谢。
  • 当我使用 'android:button="@android:color/transparent"' 时,同时选择单选按钮,选择不可见
  • 单选按钮圈应该不可见,同时,当我选择勾号时应该来-如何实现这一点,任何帮助
【解决方案2】:

set android:button="@null" 将删除默认单选图标

<RadioButton
     android:id="@+id/rb1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:button="@null"
     android:text="Female" />

【讨论】:

    【解决方案3】:

    旧帖子,但它可能对某人有所帮助。 对于旧版本,设置 android:button="@null" 对我不起作用。我可以隐藏圆圈的唯一方法是将此样式设置为RadioButton

    <style name="Radio" parent="Widget.AppCompat.CompoundButton.RadioButton">
      <item name="buttonCompat">@null</item> <!-- Key! -->
      <item name="android:button">@null</item>
    </style>
    

    【讨论】:

      【解决方案4】:

      为了隐藏圆形按钮,只需声明以下内容

      <RadioButton
        app:buttonCompat="@null"
        android:button="@android:color/transparent" />
      

      【讨论】:

        【解决方案5】:

        要在单选按钮中隐藏默认圆形图标,只需添加一行:

        android:button="@null"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-09
          • 2012-09-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-21
          • 1970-01-01
          • 2017-04-22
          相关资源
          最近更新 更多