Multi Line Radio Group

Additional

Language
Java
Version
v1.0.0.6 (Dec 12, 2017)
Created
Dec 25, 2016
Updated
Dec 12, 2017 (Retired)
Owner
Tzlil Gavra (Gavras)
Contributors
Tzlil Gavra (Gavras)
jwmach1
2
Activity
Badge
Generate
Download
Source code
APK file

Blurb

MultiLineRadioGroup

Multi Line Radio Group is a Radio Group layout to show radio buttons in more than one line.

Setup

In your project's build.gradle file:

allprojects {
    repositories {
        ...
        maven { 
            url "https://jitpack.io"
        }
        ...
    }
}

In your Application's or Module's build.gradle file:

dependencies {
    ...
    compile 'com.github.Gavras:MultiLineRadioGroup:v1.0.0.6'
    ...
}

XML Attributes:

XML Attributes:

max_in_row: A non-negative number that represents the maximum radio buttons in a row, 0 for all in one line.

radio_buttons: String-array resource reference that represents the texts of the desired radio buttons.

default_button: String that represents the text or the index of the radio button to be checked by default. The string should be in the following format: for text: "text:[text-of-button]" where text-of-button is the text of the button to check. for index: "index:[index-of-button]" where index-of-button is the index of the button to check. when the prefix omitted, "text:" inserted implicitly.

Code Example

From XML:

<com.whygraphics.multilineradiogroup.MultiLineRadioGroup xmlns:multi_line_radio_group="http://schemas.android.com/apk/res-auto"
        android:id="@+id/main_activity_multi_line_radio_group"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        multi_line_radio_group:default_button="button_2"
        multi_line_radio_group:max_in_row="3"
        multi_line_radio_group:radio_buttons="@array/radio_buttons" />

and in arrays.xml:

<string-array name="radio_buttons">
        <item>button_1</item>
        <item>button_2</item>
        <item>button_3</item>
        <item>button_4</item>
        <item>button_5</item>
</string-array>

In the activity:

MultiLineRadioGroup mMultiLineRadioGroup = (MultiLineRadioGroup) findViewById(R.id.main_activity_multi_line_radio_group);

mMultiLineRadioGroup.setOnCheckedChangeListener(new MultiLineRadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(ViewGroup group, RadioButton button) {
                Toast.makeText(MainActivity.this,
                        button.getText() + " was clicked",
                        Toast.LENGTH_SHORT).show();
            }
});

Adding radio buttons programmatically:

mMultiLineRadioGroup.addButtons("button to add 1", "button to add 2", "button to add 3");