Google finally released an official version:

MaterialButtonToggleGroup

I recommend using this instead unless a deficiency is found.

Download [license]()

ToggleButtons

This library adds two custom widgets that adhere to the Material Design definition for toggle buttons. Library is backwards compatible to API 9.

You can add the library with:

compile 'com.anthonymandra:ToggleButtons:3.0.1'

Recent Changes

Version 3.0

Migrate to androidx. Required a bump to minSdk 14.

  1. Package name changed to androidx.appcompat.widget. ToggleButton|ToggleGroup

Version 2.0

Adds backwards compatibility to API 9. This changed the api for dividers slightly.

  1. Divider is now in the custom namespace: app:divider
  2. Divider can no longer support tint. You'll need to create custom drawbles.

Basics

You can use ToggleGroup much like you would a RadioGroup and fill it with ToggleButton, or anything extending CompoundButton. See the Sample for examples.

When no text is present they will use a custom draw that allows proper image alignment. When text is present they will behave like a traditional CompoundButton, or the old android ToggleButton.

image

You can toggle exclusive selection or multi selection on a group and you can also allow unselecting (no selection at all). Buttons support tint.

Sample

screenshot_1500045520

Official Material Guidelines

materialtoggle