2013-05-11 56 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