Я хочу удерживать кнопку нажатой при нажатии на эту кнопку. Фон кнопки делается с помощью StateList
StateList
Вы должны рассмотреть возможность использования ToggleButton для такого поведения: http://developer.android.com/reference/android/widget/ToggleButton.html
ToggleButton
Может быть, взглянуть на / расширить исходный код CheckBox и использовать его в качестве отправной точки?