23

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

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

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

有任何想法吗?

4

5 回答 5

48

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() takes int values that represent Padding in Pixels, see Definition@Google so adjust the Padding as required.

于 2013-08-28T19:16:23.087 回答
13

setandroid:button="@null"将删除默认的单选图标

<RadioButton
     android:id="@+id/rb1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:button="@null"
     android:text="Female" />
于 2016-10-22T19:24:30.003 回答
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>
于 2020-02-23T16:00:24.430 回答
2

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

<RadioButton
  app:buttonCompat="@null"
  android:button="@android:color/transparent" />
于 2020-08-02T18:40:50.083 回答
1

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

android:button="@null"
于 2021-08-09T03:08:05.087 回答