Android: como mudar o tamanho do radiobutton
-
26-09-2019 - |
Pergunta
eu tenho muitos RadioButton
está no meu aplicativo. Os radiobutões são grandes demais para mim. Existe alguma maneira de torná -los menores?
Solução
Não pode ser feito, o botão de rádio é um componente de controle interno e, como tal, seu tamanho é corrigido.
Outras dicas
Uma solução rápida de hacky é escalar o botão:
<RadioButton
android:scaleX="0.5"
android:scaleY="0.5" />
Isso funciona muito bem para ficar menor.
Para aumentar, isso tende a causar alguns recortes da visualização do contêiner; portanto, você provavelmente precisará codificar a altura/largura do radiograma para ajustar os botões em escala. O botão desenhado também pode ficar visivelmente pixelado quanto maior você vai, então não é realmente ótimo se você quiser algo 3x maior ...
Isto posso ser feito, mas não é tão simples quanto definir o layout_width e o layout_height como no EditTexts, botões etc. Para modificar o tamanho/aparência de uma vista como uma caixa de seleção/botão de rádio Use as propriedades "Background" e "Button" para especificar seus próprios travestis .
Esta é uma página mais antiga, e os locais são diferentes agora, mas isso lhe dará uma ideia:http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html
Você pode usar propriedades Scalex e Scaley e, em seguida, usar o TranslationX e a tradução para colocá -lo nas janelas do 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" />
Eu relacei RadioButton
com ToggleButton
e aplicou o mesmo estilo. Eu substituí o fundo e o botão.
<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"/>
e estilo:
<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>
Funciona para mim - parece o mesmo, mas com altura personalizada.
Se o seu radiobutton estiver no radiograma, você precisará personalizar o ouvinte, verifiqueAndroid: Como obter um radiograma com o 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>
Eu fiz isso ajustando o texto do próprio Radiobutton
Igual a
android:textSize="20sp"
Em seguida, aplique no meu código;
<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" />
...
Espero que essa ajuda para alguém