This is a Ultra RadioGroup for Android.That mean you can do something awesome The AOSP RadioGroup can't. For example, you can check layout in XRadioGroup.
- Add a layout(like LinearLayout ect.) to a RadioGroup.
- Set some item state "fixed". The "fixed" items will stay their state until be clicked.
- Something other you want, you can open issue let me know.
Yes.
- add dependencies in your gradle
in your project build.gradle
allprojects {
repositories {
jcenter()
// this is xradiogroup remote repo
maven {
url 'https://dl.bintray.com/jiakaiyang/android'
}
}
}
in your app build.gradle
dependencies {
// add xradiogroup to your app
compile 'com.jiakaiyang:xradiogroup-android:v0.9'
}
- XLinearRadioGroup and XLinearRadioItem is the LinearLayout implement for XRadioGroup and XRadioItem. You can use it in your project.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:xradio="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.jiakaiyang.xradiogroup.MainActivity">
<!-- You can use it like this in your layout xml.
And check the app module for the detail -->
<com.jiakaiyang.xradiogroup.lib.groups.XLinearRadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.jiakaiyang.xradiogroup.lib.items.XLinearRadioItem
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_item"
android:clickable="true"
android:orientation="horizontal"
xradio:checked="true">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="John Lennon"
android:textColor="@android:color/white" />
</com.jiakaiyang.xradiogroup.lib.items.XLinearRadioItem>
<com.jiakaiyang.xradiogroup.lib.items.XLinearRadioItem
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_item"
android:clickable="true"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Paul McCartney"
android:textColor="@android:color/white" />
</com.jiakaiyang.xradiogroup.lib.items.XLinearRadioItem>
<com.jiakaiyang.xradiogroup.lib.items.XLinearRadioItem
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_item"
android:clickable="true"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="George Harrison"
android:textColor="@android:color/white" />
</com.jiakaiyang.xradiogroup.lib.items.XLinearRadioItem>
<com.jiakaiyang.xradiogroup.lib.items.XLinearRadioItem
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_item"
android:clickable="true"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Ringo Starr"
android:textColor="@android:color/white" />
</com.jiakaiyang.xradiogroup.lib.items.XLinearRadioItem>
</com.jiakaiyang.xradiogroup.lib.groups.XLinearRadioGroup>
</FrameLayout>
- Or you can implement your own XRadioGroup and XRadioItem.
class YourXRadioGroup implements XRadioGroup {
// this class has some base function for XRadioGroup
// you can use it help you to build your own XRadioGroup
private XRadioGroupImpl xRadioGroup;
// TODO: implement the method
}
class YourXRadioItem implements XRadioItem {
// this class has some base function for XRadioGroup
// you can use it help you to build your own XRadioGroup
private XRadioItemImpl xRadioItem;
// TODO: implement the method
}
- Add FrameLayout and other layout implements for XRadioGroup.
- Add child view of item stated drawable, the state of the child view will be same to the Item.
- Add Checkable implements for some View.
v0.9
- Add base function for XRadioGroup.
- Add LinearLayout implement for XRadioGroup and XRadioItem.