StateListDrawable states = new StateListDrawable();
int yourBackgroundColor = Color.parseColor("#FFFFFF");
// Add specific color when your view has state 'pressed'
states.addState(new int[] {android.R.attr.state_pressed}, new ColorDrawable(yourBackgroundColor));
// Add other states wanted and associated drawable
// ...
// As StateListDrawable extend Drawable, you can use it as background for exemple
yourView.setBackground(states);
StateListDrawableに必要な数の状態を追加できます(使用可能な状態のリスト:http://developer.android.com/guide/topics/resources/color-list-resource.html )。状態の組み合わせごとに、特定の動的な描画可能を設定できます。
ドローアブルに一致する複数の状態を指定できます
states.addState(new int[] { -android.R.attr.state_focused,
android.R.attr.state_selected,
-android.R.attr.state_pressed}, ColorDrawable(yourBackgroundColor));
今回は、ビューがフォーカスされておらず、選択されていて、押されていない場合に色が適用されます。