当用户从微调器中选择一个项目时,如何以编程方式更改按钮颜色?

How to change Button color programmatically when user selects an item from spinner?

我正在开发一个 Android 应用程序,在这个应用程序中我使用了一个自定义微调器和一个按钮。我希望当用户从微调器中选择一个项目时,我的按钮颜色应该改变。

因为你没有任何代码所以我会出主意:

首先:您将创建一个 class as(java):

public class GlobalConstant {
    public static int click1;
    public static int click2;
}

在您 selects an item from spinner 之后,您将在代码中将 click1 的值设置为:

GlobalConstant.click1=1

并且:

if (GlobalConstant.click1==1){
Button.setBackgroundColor(Color.BLACK);
}

这里 Button =findViewById<Button>(R.id.startButton)(kotlin)

您可以通过将 onItemSelected 侦听器设置为您想要的项目数量或项目集,然后更改该实现中的颜色来实现这一点,这将是这样的:


Button myButton;

public void onItemSelected(AdapterView<?> parent, View view,
            int pos, long id) {
        // An item was selected. You can retrieve the selected item using
        // parent.getItemAtPosition(pos);

If(pos == 1){

Mybutton.setBackgroundColor(R.color.red);

//where R.color.red is a color resource reference under the android resource (res) folder, you can add more colours to colors.xml to have more colour values

// you can also set the button to change colours for each new position (pos), where position represents the order of items in your spinner, note that the first position starts at 0 so in that code pos == 1 is actually talking about to second item on the spinner adapter 

    }

您还可以使用 onNothingSelected 方法来实现默认按钮颜色,该颜色仅在用户选择任何微调项之前处于活动状态,因此将是:

public void onNothingSelected(AdapterView<?> parent) {
myButton.setBackgroundColor(R.color.white);
    }

如果您使用 kotlin,您可以使用 Android studio 代码转换功能将代码转换为 kotlin 代码。

这样,按钮颜色会相应改变。