Android 上滑背景变淡,在Android中,如何平滑地将背景从一种颜色淡化到另一种颜色? (如何使用线程)...

我已经玩了几个星期的Android编程,我正在尝试一些看起来很简单的工作,但我想我缺少一些东西。

我想做的是让背景从白色到黑色平滑地退色。

我已经尝试了一些事情,没有一个似乎工作。

我做的第一件事是使用for循环和LinearLayout的setBackgroundColor方法,将R,G和B值从0到255改变。它不起作用。

我可以做一些设置更改,但是当我做循环时,我只得到最后一个值。我认为正在发生的是,当循环正在进行时,UI被锁定,并且循环结束时解冻。我已经尝试在循环中延迟(丑陋的嵌套循环延迟和Thread.sleep),都无济于事。

有谁能给我任何关于如何使这个工作的指针?我需要第二个线程来改变颜色吗?虽然我从来没有使用过线程,但我有一个模糊的想法。

我的示例代码大致显示了我想要做的如下:

main.xml是:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:id="@+id/screen"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

而我的java代码是(0.01 inc。只是作为一个丑陋的延迟机制,试图看到颜色的观察变化缓慢):

package nz.co.et.bgfader;

import android.app.Activity;

import android.os.Bundle;

import android.widget.LinearLayout;

public class bgfader extends Activity {

LinearLayout screen;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

screen = (LinearLayout) findViewById(R.id.screen);

for (int i = 0; i < 65535; i+=0.01) {

screen.setBackgroundColor(0xff000000 + i);

}

}

}

任何帮助将不胜感激

干杯

史蒂夫

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值