我正在 Android 应用程序中创建单选按钮,但我想对其进行自定义。但我不知道该怎么做。我希望图像作为图标,图标下的文本如图所示。此外,我想在选择任何单选按钮时更改颜色。
我想要这种类型的单选按钮。请告诉我怎样才能做到?
您可以使用自定义背景
<RadioButton
android:id="@+id/radioButtom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:button="@drawable/custom_background"
android:checked="true"
android:text="Your Text" />
这里是
Custom_background.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/your_regular_state_drawable"
android:state_checked="true"
android:state_pressed="true" />
<item
android:drawable="@drawable/your_selected_state_drawable"
android:state_pressed="true" />
<item
android:drawable="@drawable/your_selected_state_drawable"
android:state_checked="true" />
<item
android:drawable="@drawable/your_regular_state_drawable" />
参考:您可以从这里获得更好的描述https://stackoverflow.com/a/19163987/12676247
<RadioGroup
android:id="@+id/radio_group_do_you_smoke"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:background="@drawable/transparent_drawable"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView119">
<RadioButton
android:id="@+id/radio_button_yes_1"
style="@style/BoldTextView"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/rbtn_selector"
android:button="@null"
android:checked="false"
android:foreground="@drawable/smoke_ic"
android:foregroundGravity="center"
android:gravity="center"
android:textAlignment="center"
android:textColor="@drawable/rbtn_textcolor_selector"
android:textSize="14dp"
tools:ignore="TextSizeCheck">
</RadioButton>
</RadioGroup>