Android: как изменить размер RadioButton - PullRequest
26 голосов
/ 10 июня 2010

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

Ответы [ 7 ]

42 голосов
/ 09 декабря 2015

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

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

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

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

15 голосов
/ 25 января 2011

Это можно сделать, но это не так просто, как установка Layout_Width и Layout_height, как с EditTexts, Buttons и т. Д. Чтобы изменить размер / внешний вид вида, например, флажок / переключатель, используйте «Фон». "и" Свойства кнопки, чтобы указать свои собственные рисунки.

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

14 голосов
/ 10 июня 2010

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

2 голосов
/ 12 ноября 2018

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

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

0 голосов
/ 15 декабря 2017

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

Надеюсь, это кому-нибудь поможет

0 голосов
/ 18 июля 2012
<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>
...