从Theme.AppCompat.Light
更改为Theme.MaterialComponents.Light
之后
<style name="myRadioButtonTheme" parent="Theme.MaterialComponents.Light"> <!-- Theme.AppCompat.Light -->
<item name="colorControlNormal">@color/radio_bt_color</item>
<item name="colorControlActivated">@color/radio_bt_selected_color</item>
</style>
radioGroup显示radioButton项列表的间隙更大
<RadioGroup
android:id="@+id/fragment_radio_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/myRadioButtonTheme">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:text="item 1"
android:textColor="@color/txt_color" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:text="item 2"
android:textColor="@color/txt_color" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="item3"
android:checked="true"
android:text="Choose Fantasy Sports News"
android:textColor="@color/txt_color" />
使用Theme.AppCompat.Light
和Theme.MaterialComponents.Light
比较一个
如何减小单选按钮之间的间距?
<style name="Widget.MaterialComponents.CompoundButton.RadioButton" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="enforceMaterialTheme">true</item>
<item name="useMaterialThemeColors">true</item>
<item name="android:minWidth">?attr/minTouchTargetSize</item>
<item name="android:minHeight">?attr/minTouchTargetSize</item>
</style>
minTouchTargetSize
属性的默认值为48dp
。您可以为
RadioButton
使用自定义样式,也可以在布局中使用android:minHeight="xx"
。