私のアプリケーションには、プログレスバーを備えた更新機能があります。プログレスバーは、更新する必要があるテキストビューにあります。問題は、テキストビューに多くのテキストがある場合、プログレスバーがうまく表示されないことです。onPreExcute/onPostExecuteでテキストビューを暗くすることは可能ですか? しばらくすると、エミュレーターがアプリ全体で行うような暗転を意味します。
誰かが私の例を持っていますか?
エミュレーターのようにそれを行う方法はわかりませんが、理論的には次のようなものが機能する可能性があります。
未テストのコード! ここに入力しました。
で、これを使用して 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
(BLACK)であることを前提としています。
この効果の使用を確認するには、Twitter アプリを開き、任意のユーザーのプロフィールに移動し、ユーザーのプロフィール写真 (および利用可能な場合はバナー) が表示され、右にスライドして、画面の上部でどのようにそれを行っているかを確認します。背景をぼかしながらの説明。背景が暗くなったように見えます。
onPreExecute()
( ) でアルファ チャネルを使用しているため#74000000
、これは (再び)理論的には同様の効果を生み出します。
を変更したい場合は、 を次のようTextView's
textColor attribute
に変更setBackgroundColor()
します。
textView.setTextColor(Color.parseColor("#FFFFFF"));
注:前述のように、これはテストされておらず、私の理論にすぎません。しかし、これはあなたを正しい方向に導くはずです。もちろん、値をいじる必要があるかもしれません。これらは、OPの内容に基づいた私の側の単なる仮定です。