1

私のアプリケーションには、プログレスバーを備えた更新機能があります。プログレスバーは、更新する必要があるテキストビューにあります。問題は、テキストビューに多くのテキストがある場合、プログレスバーがうまく表示されないことです。onPreExcute/onPostExecuteでテキストビューを暗くすることは可能ですか? しばらくすると、エミュレーターがアプリ全体で行うような暗転を意味します。

誰かが私の例を持っていますか?

4

1 に答える 1

3

エミュレーターのようにそれを行う方法はわかりませんが、理論的には次のようなものが機能する可能性があります。

未テストのコード! ここに入力しました。

で、これを使用して 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の内容に基づいた私の側の単なる仮定です。

于 2013-05-11T06:21:54.723 に答える