Android: Как изменить размер радиообуттона
-
26-09-2019 - |
Вопрос
у меня много RadioButton
S в моем приложении. Радиообуттоны слишком велики для меня. Есть ли способ сделать их меньшими?
Решение
Нельзя сделать, радиопередача представляет собой встроенный элемент управления, и поскольку такой его размер фиксируется.
Другие советы
Одно быстрое хаковочное решение - масштабировать кнопку вниз:
<RadioButton
android:scaleX="0.5"
android:scaleY="0.5" />
Это отлично работает для меньших.
Для увеличения большего, это имеет тенденцию вызывать оттенок от обзора контейнера, поэтому вы, вероятно, придется жесткодействовать высоту / ширину радиогруппы, чтобы соответствовать масштабированным кнопкам. Нажатие кнопки также может заметно пикселировать, чем больше, чем вы идете, так что это не очень здорово, если вы хотите что-то 3 раза больше ...
Это могу Будьте сделаны, но не так просто, как настроить Layout_width и Layout_Height, как с Edittexts, кнопки и т. Д. Для изменения размера / внешний вид просмотра, как кнопка Checkbox / Radio, используйте свойства «Фон» и «кнопка», чтобы указать свои собственные нити. Отказ
Это старая страница, а место работы сейчас разные, но это даст вам идею:http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html.
Вы можете использовать Scalex и Scale Silvery Properties, затем используйте TranslyX и переводы, чтобы положить его в окна RadioButton.
<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 находится в радиогруппе, вам нужно будет настроить слушатель, проверятьAndroid: Как получить радиогруппу с ToggleButtons?
<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>
Я сделал это, отрегулировав теэквизировать себя радиообуттона
Вот так
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" />
...
Надеюсь, это поможет кому-то