Android: Wie wird die Größe des Optionsfelds ändern
-
26-09-2019 - |
Frage
Ich habe viele RadioButton
s in meiner app. Die Radio-Buttons sind zu groß für mich. Gibt es eine Möglichkeit, sie kleiner?
Lösung
Kann nicht getan werden, die Radio-Button ist eine eingebaute Steuerungskomponente und als solche seine Größe festgelegt ist.
Andere Tipps
Eine schnelle hacky Lösung ist es, die Taste verkleinern:
<RadioButton
android:scaleX="0.5"
android:scaleY="0.5" />
Dies funktioniert gut für das Gehen kleiner.
Für gehen größer, das dazu neigt, etwas Ausschnitt aus dem Behälter Ansicht zu verursachen, so werden Sie wahrscheinlich die Höhe / Breite des Radiogroup codieren müssen die skalierten Tasten passen. Die Schaltfläche ziehbar auch die größere merklich pixelig bekommen Sie gehen können, so ist es nicht wirklich toll, wenn Sie etwas wollen, 3x größer ...
Es können durchgeführt werden, ist aber nicht so einfach, wie die Layout_Width und Layout_height wie mit EditTexts Einstellung, Knöpfe usw. Um die Größe / Aussehen einer Ansicht wie ein Kontrollkästchen / Optionsfeld Verwendung zu ändern die " Hintergrund“und‚Button‘Eigenschaften Ihre eigenen Drawables angeben.
Dies ist eine ältere Seite, und die Standorte sind jetzt anders, aber das werde Ihnen eine Idee: http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html
Sie können Eigenschaften scaleX und scaleY verwenden, dann verwenden translationX und translationY es in den Radiobutton Fenster zu setzen.
<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" />
I relpaced RadioButton
mit ToggleButton
und angewendet gleichen Stil. Ich habe überschreiben Hintergrund und Knopf.
<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"/>
und Stil:
<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>
Arbeiten für mich -. Sehen gleich aus, aber mit benutzerdefinierter Höhe
Wenn Ihr Radiobutton in der Radiogroup ist, müssen Sie Hörer anpassen, Scheck Android: Wie ein Radiogroup mit ToggleButtons bekommen ? p>
<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>
Ich habe dies getan, indem die Textsize von RadioButton- Einstellung selbst
Wie so
android:textSize="20sp"
dann auf meinen Code anzuwenden;
<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" />
...
Hope diese Hilfe zu jemandem