Я бы порекомендовал не использовать никакие кнопки, если вы хотите изменить их внешний вид.
Вместо этого гораздо проще использовать вид (например), установить ширину и высоту макета, а также добавить собственный фон. Это цвет фона или изображения, которые меняются при нажатии.
Например:
View v1 = (View) findViewById(R.id.yourToggleView);
v1.setBackgroundColor(Color.WHITE);
tr2Main.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(v1.getBackgroundColor == Color.WHITE){
v1.setBackgroundColor(Color.RED);
}else{
v1.setBackgroundColor(Color.WHITE);
}
}
});
Если у вас есть XML с представлением
<View android:id="@+id/yourToggleView"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="#FFFm"
/>