简体   繁体   English

单击时更改按钮颜色 Android Studio

[英]Change Button Color When Clicked Android Studio

How can I change the color of the button when it's clicked, I'm making a quiz app and when the button is clicked it will change its color单击按钮时如何更改按钮的颜色,我正在制作一个测验应用程序,单击按钮时它将更改其颜色

You can use a MaterialButtonToggleGroup to select from a group of choices:您可以使用MaterialButtonToggleGroup从一组选项中选择 select:

        <com.google.android.material.button.MaterialButtonToggleGroup
            android:id="@+id/toggleButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:singleSelection="true"
            app:selectionRequired="true">
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button 1"
                style="?attr/materialButtonOutlinedStyle"
                />
            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button 2"
                style="?attr/materialButtonOutlinedStyle"
                />
            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button 3"
                style="?attr/materialButtonOutlinedStyle"
                />
        </com.google.android.material.button.MaterialButtonToggleGroup>

在此处输入图像描述 在此处输入图像描述

Just set View.OnClickListener to your Button and setBackgroundColor to it.只需将View.OnClickListener设置为您的 Button 并将setBackgroundColor设置为它。

Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        v.setBackgroundColor(Color.parseColor("#ff0000"));
    }
});

If you want to reset color when the other Button is clicked, you can use a common OnClickListener among the Buttons.如果要在单击另一个 Button 时重置颜色,可以在 Button 之间使用通用的OnClickListener Below is an example:下面是一个例子:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private Button button1;
    private Button button2;
    private Button button3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button1 = findViewById(R.id.button1);
        button2 = findViewById(R.id.button2);
        button3 = findViewById(R.id.button3);
        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button1:
                button1.setBackgroundColor(Color.parseColor("#ff0000"));
                button2.setBackgroundColor(Color.parseColor("#0000ff"));
                button3.setBackgroundColor(Color.parseColor("#0000ff"));
                break;
            case R.id.button2:
                button1.setBackgroundColor(Color.parseColor("#0000ff"));
                button2.setBackgroundColor(Color.parseColor("#ff0000"));
                button3.setBackgroundColor(Color.parseColor("#0000ff"));
                break;
            case R.id.button3:
                button1.setBackgroundColor(Color.parseColor("#0000ff"));
                button2.setBackgroundColor(Color.parseColor("#0000ff"));
                button3.setBackgroundColor(Color.parseColor("#ff0000"));
                break;
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM