Ответ 1
Невозможно сделать, радиокнопка представляет собой встроенный элемент управления и, как таковой, его размер исправлен.
У меня есть много RadioButton
в моем приложении. RadioButtons слишком велики для меня. Есть ли способ сделать их меньше?
Невозможно сделать, радиокнопка представляет собой встроенный элемент управления и, как таковой, его размер исправлен.
Одним быстрым хакерским решением является масштабирование кнопки вниз:
<RadioButton
android:scaleX="0.5"
android:scaleY="0.5" />
Это отлично работает для уменьшения размера.
Для большего размера это приводит к некоторому отсечению из контейнера View, поэтому вам, вероятно, придется жестко задавать высоту/ширину RadioGroup, чтобы соответствовать масштабированным кнопкам. Выделяемая кнопка также может быть заметно пикселирована, чем больше вы идете, так что это не очень здорово, если вы хотите что-то в 3 раза больше...
Это можно сделать, но не так просто, как установка Layout_Width и Layout_height, как с помощью EditTexts, Buttons и т.д. Чтобы изменить размер/внешний вид представления, например флажок/переключатель, используйте свойства "Background" и "Button" для указания ваших собственных чертежей.
Это более старая страница, и теперь места разные, но это даст вам представление: http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html
Вы можете использовать свойства scalex и scaley, а затем использовать translationX и translationY, чтобы поместить их в окна радиокнопок.
<RadioButton
android:id="@+id/rbtnfkilo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scaleX="1.4"
android:scaleY="1.4"
android:text="Kilogram"
android:textColor="#fff"
android:textSize="18sp"
android:translationX="24dp" />
Я переназначил RadioButton
с ToggleButton
и применил тот же стиль. Я переопределил фон и кнопку.
<ToggleButton
android:id="@+id/btnToggle1"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_weight="1"
android:checked="true"
style="@style/ToggleButtonStyle"
android:button="@null"
android:textOn="@string/btnTitle"
android:textOff="@string/btnTitle"/>
и стиль:
<style name="ToggleButtonStyle">
<item name="android:background">@drawable/background_radiobutton</item>
<item name="android:textColor">@color/selector_text_radiobutton</item>
<item name="android:textAppearance">@null</item>
</style>
У меня работает - выглядит так же, но с нестандартной высотой.
Если ваша RadioButton находится в RadioGroup, вам нужно настроить прослушиватель, проверьте Android: Как получить радиогруппу с помощью кнопок-переключателей?
<RadioGroup android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:checkedButton="@+id/first">
<RadioButton android:id="@+id/first"
android:width="50dp"
android:height="50dp"
android:button="@drawable/button_radio"/>
<RadioButton android:id="@+id/second"
android:width="50dp"
android:height="50dp"
android:button="@drawable/button_radio"/>
<RadioButton android:id="@+id/third"
android:width="50dp"
android:height="50dp"
android:button="@drawable/button_radio"/>
<RadioButton android:id="@+id/fourth"
android:width="50dp"
android:height="50dp"
android:button="@drawable/button_radio"/>
</RadioGroup>
Я сделал это, настроив TextSize самого RadioButton
Таким образом
android:textSize="20sp"
затем применим к моему коду;
<RadioGroup
android:id="@+id/checkboxRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb1"
style="@android:style/Widget.CompoundButton.CheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/checkBoxMargin"
android:text="YES"
android:textSize="20sp" />
...
Надеюсь на эту помощь кому-то