在我的应用程序中,我有一个带有进度条的刷新功能。进度条位于应该刷新的文本视图上。问题是:如果文本视图中有很多文本,你看不到进度条那么好。是否可以在 onPreExcute/onPostExecute 中使 textview 变暗?我的意思是一段时间后,整个应用程序会像模拟器一样变暗。
有没有人给我一个例子?
好吧,我不知道如何像模拟器那样去做,但理论上这样的事情可以工作:
未经测试的代码!我在这里输入的。
在 中,使用以下方法更改 TextViewonPreExecute()
的背景颜色 ( ):.setBackgroundColor
@Override
protected void onPreExecute() {
.....
textView.setBackgroundColor(Color.parseColor("#74000000"));
}
并在 中onPostExecute()
,将其改回原来的颜色:
@Override
protected void onPostExecute(Void result) {
....
textView.setBackgroundColor(Color.parseColor("#000000"));
}
这是假设您的原始背景颜色TextView
是#000000
(黑色)。
要查看使用中的这种效果,请打开 Twitter 应用程序,转到任何用户的个人资料,然后在屏幕顶部查看他们是如何操作的,您可以在屏幕顶部看到用户的个人资料图片(和横幅,如果可用)并向右滑动,显示淡化背景时的描述。看起来背景已经变暗了。
由于我在onPreExecute()
( #74000000
) 中使用了 Alpha 通道,因此 (再次)理论上会产生类似的效果。
如果您想更改TextView's
textColor attribute
,请将 更改setBackgroundColor()
为:
textView.setTextColor(Color.parseColor("#FFFFFF"));
注意:如前所述,这是未经测试的,只是我的一个理论。但我怀疑,这应该会让你朝着正确的方向前进。当然,您可能不得不摆弄价值观。它们只是我基于 OP 中的内容的假设。