Selección de vistas como una barra de calificación

Necesito algo así como un RatingBar para seleccionar un rango de meses en un año,

Donde el usuario puede seleccionar marcha, y mueve el dedo hacia una dirección y se selecciona. No puedo tener algo "no seleccionado" en el medio.

Para ejemplificar,
Meses seleccionados

En este caso, el usuario seleccionó 'Jan' y 'Abr'. No encontré nada específico para este caso, así que me preguntaba si alguien se topaba con esto o debería hacerlo manualmente.

¡Gracias! 🙂

Bueno, acabé haciendo casi manualmente todo el código. Voy a publicar aquí por lo que si alguien necesita lo mismo, estará aquí.
En primer lugar, tengo un FlexboxLayout mantenido por Google, que envuelve las vistas a la siguiente línea. Luego, he añadido dentro de él todas las 13 casillas de verificación, y establecer el fondo y textColor basado en StateLists.
La vista Código:

<com.google.android.flexbox.FlexboxLayout android:id="@+id/fl_cadastrofonterendamensalactivity_months_container" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" app:alignContent="stretch" app:justifyContent="space_around" app:alignItems="center" app:flexWrap="wrap"> <CheckBox android:id="@+id/cb_monthlist_jan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:layout_marginTop="8dp" android:layout_marginBottom="8dp" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_jan" android:textColor="@color/months_textcolor" android:textStyle="bold" /> <CheckBox android:id="@+id/cb_monthlist_fev" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_fev" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_mar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_mar" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_abr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_abr" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_mai" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_mai" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_jun" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_jun" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_jul" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_jul" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_ago" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" app:layout_wrapBefore="true" android:text="@string/cadastro_fonterendamensal_mes_ago" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_set" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_set" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_out" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_out" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_nov" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_nov" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_dez" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_dez" android:textColor="@color/months_textcolor" android:textStyle="bold"/> <CheckBox android:id="@+id/cb_cadastromonthlist_dct" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/months_statelist" android:button="@null" android:gravity="center" android:text="@string/cadastro_fonterendamensal_mes_dct" android:textColor="@color/months_textcolor" android:textStyle="bold"/> </com.google.android.flexbox.FlexboxLayout> 

Dentro de res / color / months.textcolor.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/color_background" android:state_checked="true"/> <item android:color="@android:color/white" android:state_checked="false"/> </selector> 

Dentro de res / drawable / months_statelist.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/checkbox_checked" android:state_checked="true"/> <item android:drawable="@drawable/checkbox_unchecked" android:state_checked="false"/> </selector> 

Dentro de res / drawable / checkbox_checked.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF"/> <corners android:radius="100dp"/> <size android:width="-2dp" android:height="-2dp"/> <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp"/> </shape> 

Y dentro de res / drawable / checkbox_unchecked.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@android:color/transparent"/> <stroke android:width="1dp" android:color="#FFFFFF"/> <corners android:radius="100dp"/> <size android:width="40dp" android:height="40dp"/> <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp"/> </shape> 

Aquí hay dos bibliotecas material-gama-bar :

 dependencies { compile 'com.appyvet:materialrangebar:1.3' } 

Y la barra de búsqueda de rango:

 dependencies { compile 'com.yahoo.mobile.client.android.util.rangeseekbar:rangeseekbar-library:0.1.0' 

}

Es posible que desee echar un vistazo a este y este enlaces. No puede ser exactamente lo que está buscando, pero con un poco de personalización creo que va a ayudar. Todavía no he probado. Sólo busqué en Google para usted.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.