Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A simple android library that mimics the functionality of a Radio Group and provides a custom layout for option selections.

License

Notifications You must be signed in to change notification settings

yashprakash13/MultiChoiceLinearLayout

Repository files navigation

MultiChoiceLinearLayout

An android library that mimics the functionality of a Radio Group and provides a custom layout for option selections.

Library Preview

Start using in your project!

  • Just add dependencies in

    • Project level gradle:
     allprojects {
     repositories {
     .
     .
     .
     maven { url 'https://jitpack.io' }
     .
     . 
     }
     } 
    • And app level gradle:
    dependencies {
     .
     .
     .
     implementation 'com.github.yashprakash13:MultiChoiceLinearLayout:1.1'
     .
     .
    }

and you are good to go!

For two choices:

<tech.pcreate.multichoicelayout.MultiChoiceLayout
 android:id="@+id/multichoices"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:gravity="center"
 app:backType="stroke"
 app:backStrokeWidth="3"
 app:backgroundColor="@color/colorPrimaryDark"
 app:opt1="@string/monthly"
 app:opt1TColor="@color/white"
 app:opt2="@string/yearly"
 app:opt2TColor="@color/white"
 app:ignoreThird="true"
 app:ignoreFourth="true"
 app:layout_constraintEnd_toEndOf="parent"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/appBarLayout"
 app:selectedOptionBackground="@color/white_depth">
 </tech.pcreate.multichoicelayout.MultiChoiceLayout>

For three choices

  • Simply remove
<tech.pcreate.multichoicelayout.MultiChoiceLayout
 .
 .
 .
 app:ignoreThird="true"
</tech.pcreate.multichoicelayout.MultiChoiceLayout>
  • and add:
<tech.pcreate.multichoicelayout.MultiChoiceLayout
 .
 .
 .
 app:opt3="@string/yourString"
 app:opt3TColor="@color/yourColor"
</tech.pcreate.multichoicelayout.MultiChoiceLayout>

For four choices

  • Remove:
<tech.pcreate.multichoicelayout.MultiChoiceLayout
 .
 .
 .
 app:ignoreThird="true"
 app:ignoreFourth="true"
</tech.pcreate.multichoicelayout.MultiChoiceLayout>
  • and add:
<tech.pcreate.multichoicelayout.MultiChoiceLayout
 .
 .
 .
 app:opt3="@string/yourString"
 app:opt3TColor="@color/yourColor"
 app:opt4="@string/yourString"
 app:opt4TColor="@color/yourColor"
</tech.pcreate.multichoicelayout.MultiChoiceLayout>

Set a ClickListener for Options:

  • Add this line to your Activity/Fragment:
MultiChoiceLayout multiChoiceLayout = findViewById(R.id.multichoices);
multiChoiceLayout.setOnClickListener(this);
  • and implement this Interface:
public class MyActivity implements MultiChoiceLayout.MultiChoiceOnclick {
. . .
  • Then, get the click action like this:
 @Override
 public void onMultiChoiceLayoutClick() {
 if(MultiChoiceLayout.getSelection() == 1){
 // Do some work
 }
 else if(MultiChoiceLayout.getSelection() == 2){
 // Do some work
 }
 ...
 //so on
 }

If you want to use Java :

 // For setting three choices use:
 multiChoiceLayout.setOptionText(option1, option2, option3, null);
 
 // And add fourth option as the ignore attribute:
 multiChoiceLayout.setIgnoreChoices(false, false, true);
 

Likewise for Two choices, one choice or all four choices.

Set custom attributes like this:

 //Background of the layout can be either solid or stroke :
 multiChoiceLayout.setBackground(R.color.color_1, 4, MultiChoiceLayout.STROKE); // Use for solid background : MultiChoiceLayout.SOLID, width parameter will be ignored.
 // Selected Option Background color:
 multiChoiceLayout.setSelectedBackgroundColor(R.color.color_1);
 
 
 // Option Text color:
 multiChoiceLayout.setOptionTextColor(R.color.color_1);

Buy me a Coffee!

If you like this library, please show your support by : Buy Me a Coffee at ko-fi.com

About

A simple android library that mimics the functionality of a Radio Group and provides a custom layout for option selections.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /