gpt4 book ai didi

java - 单击按钮时随机化数组中的颜色

转载 作者:行者123 更新时间:2023-12-02 10:48:40 25 4
gpt4 key购买 nike

我试图通过单击按钮自动随机化颜色。我能够随机化并显示背景颜色,但我必须每次单击按钮才能获得不同的颜色。我试图单击该按钮一次,它会自动循环遍历数组并自动显示颜色。我知道我需要某种形式的数组周围的循环,但我不知道把它放在哪里。

private View windowView;
private Button clickMe;
private int[colors];

colors=new int[]{Color.CYAN, Color.GREEN, Color.RED};

for (int i = 0; i < colors.length; i++) {
Random random = new Random();
int randomNum = random.nextInt(colorArrayLength);

windowView.setBackgroundColor(colors[randomNum]);
}

我不明白为什么这不循环遍历数组。任何提示和帮助将不胜感激。

最佳答案

我相信您是随机选择颜色并将其设置在背景中。然而,由于它位于循环内,因此变化如此之快,以至于在视觉渲染中变化并不明显。您需要暂停几毫秒才能直观地看到变化。

您可以尝试以下方法:

private View windowView;
private Button clickMe;
private int[colors];

colors=new int[]{Color.CYAN, Color.GREEN, Color.RED};

final int[] finalColors = colors;
final View finalWindowView = windowView;

for (int i = 0; i < finalColors.length; i++) {
Random random = new Random();

final int randomNum = random.nextInt(finalColors.length);

new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// Do after 500ms
finalWindowView.setBackgroundColor(colors[randomNum]);
}
}, 500 * i);

}

关于java - 单击按钮时随机化数组中的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52350783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com