gpt4 book ai didi

java - 延迟改变颜色

转载 作者:行者123 更新时间:2023-12-01 07:34:22 26 4
gpt4 key购买 nike

我想在按下按钮时更改 TextView 的背景颜色。它应该这样做:首先是白色 10 毫秒,然后只是常规颜色。是否有某种延迟函数,或者我是否需要使用循环或某种类型为此编写自己的函数?非常感谢任何提示:)

此时我只是使用

button.setBackgroundColor(Color.parseColor("#ffa500"));

最佳答案

每个 View 都有 postpostDelayed 方法分别将可运行对象发布到 UI 线程或延迟发布。

    button.postDelayed(new Runnable() {

@Override
public void run() {
// change color in here
}
}, 10);

编辑:如果您要经常调用此函数,则可以使用以下方法做得更好:

int currentColor;
private Runnable changeColorRunnable = new Runnable() {

@Override
public void run() {
switch(currentColor){
case Color.RED: currentColor = Color.BLACK; break;
case Color.BLACK: currentColor = Color.RED; break;
}
button.setBackgroundColor(currentColor);

}
};

然后:

    button.postDelayed(changeColorRunnable, 10);

这将避免不必要的对象创建和垃圾收集

关于java - 延迟改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14053225/

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