как уменьшить разрыв для radioButton в radioGroup с Theme.MaterialComponents.Light - PullRequest
1 голос
/ 13 февраля 2020

после изменения с 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>

радиогруппа показывает список элементов 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

enter image description here

как уменьшить разрыв между переключателем?

1 Ответ

2 голосов
/ 24 февраля 2020

Стиль по умолчанию, используемый RadioButton для темы компонентов материала:

  <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" в макете.

...