如何使用TextView在android中连续更改文本颜色?

时间:2011-06-17 18:36:39

标签: android

我想每隔几秒钟更改一次文字的颜色。我尝试生成一个随机数,并用它来设置循环中文本视图对象的颜色。但该应用程序没有响应。请有人帮帮我吗?

2 个答案:

答案 0 :(得分:3)

尝试在单独的线程中运行代码的颜色循环部分。例如

Thread thread = new Thread( new Runnable() {
    public void run() {
        while(true) {
            int number = // generate random number ;

            runOnUiThread( new Runnable() {
                public void run() {
                    TextView text = // get your TextView ;
                    text.setTextColor(number);
                {
            {

            try {
                Thread.sleep(DELAY);
            } catch (InterruptedException e) {}
        }
    }
}

thread.start();

您需要运行实际通过runOnUiThread更改TextView的代码,因为Android不允许其他线程修改Activity的部分内容。

答案 1 :(得分:0)

您可以使用带有.postDelayed()的Handler并将其设置为具有递归结构,因此每次通过它都会更改颜色,然后发布下一个runnable以在几秒钟后触发。