2013-05-11 60 views
1

在我的應用程序中,我有一個帶有進度條的刷新功能。進度條在應該刷新的文本視圖上。問題是:如果textview中有很多文本,您看不到進度欄如此之好。是否可以使onPreExcute/onPostExecute中的textview變暗?我的意思是模擬器會在一段時間後對整個應用程序進行黑暗處理。使textview黑暗?

有沒有人給我一個例子?

+0

dint讓你確切地 – Triode 2013-05-11 06:10:10

+0

你可以把ProgressBar放在其他地方,或者替換刷新按鈕(因爲沒有點讓用戶在旋轉時再次點擊刷新...) – Karakuri 2013-05-11 06:14:11

+0

是的刷新按鈕被禁用,但textview白色是如此的「白色」,以至於如果在textview中有任何文字,試圖查看進度條並不酷,不知道怎麼說我的英語是如此糟糕:/如果你在模擬器中啓動一個應用程序,沒有一段時間,它會變成灰色,像一個備用,我想實現這個灰色只是爲了刷新槽編程 – Phil 2013-05-11 06:20:29

回答

3

好吧,我不知道如何去像仿真程序做,但在理論上這樣的事情可以工作:

未經測試的代碼!我在這裏輸入。

onPreExecute(),使用這種改變TextView的背景顏色(.setBackgroundColor):

@Override 
protected void onPreExecute() { 
    ..... 

    textView.setBackgroundColor(Color.parseColor("#74000000")); 
} 

而在onPostExecute(),將其改回原來的顏色:

@Override 
protected void onPostExecute(Void result) { 
    .... 

    textView.setBackgroundColor(Color.parseColor("#000000")); 
} 

這假設TextView的原始背景顏色爲#000000(BLACK)。

要查看使用中的這種效果,請打開Twitter應用,轉到任何用戶的配置文件,並查看他們在屏幕的頂部如何顯示用戶的個人資料圖片(和橫幅,如果可用)右邊,在淡出背景時顯示描述。它看起來像背景有變暗

由於我使用在onPreExecute()#74000000)α信道,這會,(再次理論上產生類似的效果有點。

如果你寧願改變TextView'stextColor attribute,改變setBackgroundColor()這樣:

textView.setTextColor(Color.parseColor("#FFFFFF")); 

注:正如前面提到的,這是未經測試,只是我的一個理論。但我懷疑,這應該讓你在正確的方向。當然,你可能不得不擺弄這些價值。基於OP中的內容,他們只是我的假設。

+0

「dimmed」是我搜索的文字^^它的作品(:我必須玩一點有點顏色,但總的來說效果非常好,非常感謝你 – Phil 2013-05-11 06:34:27

+1

@菲爾:大聲笑....我很高興我能幫上忙,爲了紀錄,_di mmed_是一種事後的想法。當我認爲它在那裏會更有意義時,我放入了它。 ;-) – 2013-05-11 06:36:02