Подтвердить что ты не робот

Android: как изменить размер RadioButton

У меня есть много RadioButton в моем приложении. RadioButtons слишком велики для меня. Есть ли способ сделать их меньше?

4b9b3361

Ответ 1

Невозможно сделать, радиокнопка представляет собой встроенный элемент управления и, как таковой, его размер исправлен.

Ответ 2

Одним быстрым хакерским решением является масштабирование кнопки вниз:

<RadioButton
  android:scaleX="0.5"
  android:scaleY="0.5" />

Это отлично работает для уменьшения размера.

Для большего размера это приводит к некоторому отсечению из контейнера View, поэтому вам, вероятно, придется жестко задавать высоту/ширину RadioGroup, чтобы соответствовать масштабированным кнопкам. Выделяемая кнопка также может быть заметно пикселирована, чем больше вы идете, так что это не очень здорово, если вы хотите что-то в 3 раза больше...

Ответ 3

Это можно сделать, но не так просто, как установка Layout_Width и Layout_height, как с помощью EditTexts, Buttons и т.д. Чтобы изменить размер/внешний вид представления, например флажок/переключатель, используйте свойства "Background" и "Button" для указания ваших собственных чертежей.

Это более старая страница, и теперь места разные, но это даст вам представление: http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html

Ответ 4

Вы можете использовать свойства 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" />

Ответ 5

Я переназначил 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: Как получить радиогруппу с помощью кнопок-переключателей?

Ответ 6

<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>

Ответ 7

Я сделал это, настроив 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" />
    ...

Надеюсь на эту помощь кому-то