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

Lui*_*ndo 13 android radio-button

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

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

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

有任何想法吗?

M.B*_*ett 34

XML:

<RadioButton
   android:paddingLeft="31dp"
   android:button="@android:color/transparent" />
Run Code Online (Sandbox Code Playgroud)

Java的:

RadioButton myButton = (RadioButton) findViewById(R.id.radio);
   myButton.setButtonDrawable(android.R.color.transparent);
   myButton.setPadding(31, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

setPadding()接受表示像素填充的int值,请参阅Definition @ Google,以便根据需要调整填充.


小智 7

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

<RadioButton
     android:id="@+id/rb1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:button="@null"
     android:text="Female" />
Run Code Online (Sandbox Code Playgroud)


Rez*_*eza 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>
Run Code Online (Sandbox Code Playgroud)