隐藏单选按钮图标但不隐藏文本
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"
【讨论】:
以上是关于隐藏单选按钮图标但不隐藏文本的主要内容,如果未能解决你的问题,请参考以下文章