ボタンをクリックした場合、ボタンの背景色を変更したいですか?はい、できます
最初に状態を定義します
private int btnState = 1;
private final static int BUTTON_STATE_SELECTED = 0;
private final static int BUTTON_STATE_UNSELECTED = 1;
次に、idをボタンに設定します
android:id="@+id/btnRoute"
android:background="@color/green"
android:drawableLeft="@drawable/custom_routes_start_button_icon"
android:text="@string/custom_route_start"
アクティビティでボタンを宣言する
Button btnRoute = (Button) findviewbyid(R.id.btnRoute);
その後、状態に基づいてボタンの色を変更するonclickリスナーを作成します
private View.OnClickListener mOnClickBtnRoute = new View.OnClickListener() {
switch(btnState) {
case BUTTON_STATE_SELECTED:
btnRoute.setBackgroundColor(green);
btnRoute.setText(start);
Drawable img = getContext().getResources().getDrawable( R.drawable.custom_routes_start_button_icon );
btnRoute.setCompoundDrawablesWithIntrinsicBounds( img, null, null, null );
btnState = BUTTON_STATE_UNSELECTED;
break;
case BUTTON_STATE_UNSELECTED:
btnRoute.setBackgroundColor(red);
btnRoute.setText(stop);
Drawable img = getContext().getResources().getDrawable( R.drawable.custom_routes_stop_button_icon );
btnRoute.setCompoundDrawablesWithIntrinsicBounds( img, null, null, null );
btnState = BUTTON_STATE_SELECTED;
break;
}
};
次に、リスナーをボタンに設定することを忘れないでください
btnRoute.setOnClickListener(mOnClickBtnRoute);
すべてのコードがここでコーディングされていることを覚えておいてください。タイプミスがある可能性があるので、コピーして貼り付けるだけでなく、概念を理解してください:)私の答えについて質問がある場合は、コメントでお気軽に質問してください。