Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to dynamically set RadioButton size in android

I want to show 10 radioButtons in a horizontal. I've tried to add it in RadioGroup, but after running the application, it doesn't show all the radioButtons.

My UI image :
My Img

On some devices not all of radioButtons are shown.

How can I dynamically set size to radioButton from devices screen width ?

My layout:

<RadioGroup
        android:id="@+id/radioGrp"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/bidStepper_txt"
        android:orientation="horizontal">

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="10" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="9" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="5" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="3" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1" />

    </RadioGroup>

How can i this?

like image 768
Dr line Avatar asked Oct 16 '25 14:10

Dr line


1 Answers

All items shown on screen using give android:layout_weight=".1" to all RadioButton.

android:layout_weight divide the all radio buttons width in equal size according to width of device screen, but there is an issue in layout because in some devices it can be clipped, because some device has less width of screen, to overcome this you can use the horizontal scroll view like below:

 <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <RadioGroup
            android:id="@+id/radioGrp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:orientation="horizontal">

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="10" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="9" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:text="5" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="3" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1" />

        </RadioGroup>
    </HorizontalScrollView>

I hope its work for you.

like image 88
Android Geek Avatar answered Oct 18 '25 02:10

Android Geek



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!