隐藏单选按钮图标但不隐藏文本

Posted

技术标签:

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

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

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

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

有什么想法吗?

【问题讨论】:

您可以创建一个没有文本的 RadioButton,并在其左侧创建一个包含 RadioButtons 描述的 TextView。 @PhilippJahoda 好主意,但在我的情况下很难应用,因为我需要将按钮从“正常”转到“无图标”并返回 【参考方案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_
     android:layout_
     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"

【讨论】:

以上是关于隐藏单选按钮图标但不隐藏文本的主要内容,如果未能解决你的问题,请参考以下文章

任务栏总是显示所有图标无法折叠隐藏

如何用Jquery控制单选按钮点击否然后隐藏其他文本框

苹果手机怎么隐藏图标名字

使用单选按钮隐藏和显示文本输入

当按钮在页面初始化时隐藏时,如何获取要呈现的 jQueryUI 按钮图标?

C# winfrom中如何隐藏标题栏中的 关闭按钮图标?