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

时间:2013-08-28 18:58:25

标签: android radio-button

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

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

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

有什么想法吗?

5 个答案:

答案 0 :(得分:31)

<强> XML:

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

<强>爪哇:

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

setPadding()接受以像素为单位表示填充的int值, 请参阅Definition@Google,然后根据需要调整填充。

答案 1 :(得分:7)

旧帖子,但可能会对某人有所帮助。 对于旧版本,设置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>

答案 2 :(得分:4)

设置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 :(得分:2)

要隐藏圆圈按钮,只需声明以下内容

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

答案 4 :(得分:1)

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

android:button="@null"