Android 上滑背景变淡,在Android中,如何平滑地将背景从一种颜色淡化到另一种颜色? (如何使用线程)...
我已經(jīng)玩了幾個(gè)星期的Android編程,我正在嘗試一些看起來很簡單的工作,但我想我缺少一些東西。
我想做的是讓背景從白色到黑色平滑地退色。
我已經(jīng)嘗試了一些事情,沒有一個(gè)似乎工作。
我做的第一件事是使用for循環(huán)和LinearLayout的setBackgroundColor方法,將R,G和B值從0到255改變。它不起作用。
我可以做一些設(shè)置更改,但是當(dāng)我做循環(huán)時(shí),我只得到最后一個(gè)值。我認(rèn)為正在發(fā)生的是,當(dāng)循環(huán)正在進(jìn)行時(shí),UI被鎖定,并且循環(huán)結(jié)束時(shí)解凍。我已經(jīng)嘗試在循環(huán)中延遲(丑陋的嵌套循環(huán)延遲和Thread.sleep),都無濟(jì)于事。
有誰能給我任何關(guān)于如何使這個(gè)工作的指針?我需要第二個(gè)線程來改變顏色嗎?雖然我從來沒有使用過線程,但我有一個(gè)模糊的想法。
我的示例代碼大致顯示了我想要做的如下:
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。只是作為一個(gè)丑陋的延遲機(jī)制,試圖看到顏色的觀察變化緩慢):
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);
}
}
}
任何幫助將不勝感激
干杯
史蒂夫
總結(jié)
以上是生活随笔為你收集整理的Android 上滑背景变淡,在Android中,如何平滑地将背景从一种颜色淡化到另一种颜色? (如何使用线程)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两台邮件服务器共用一个公网地址,两个不同
- 下一篇: android 各版本市占率,Andro