0

プログラムでディスプレイを暗くする方法を教えてください。1日に最大100回コンパイルする場合があります。そして、ほとんどの場合、画面が暗くなり、画面に触れて、今行った変更をはっきりと確認する必要があります. システムの明るさをローカルで変更する必要はありません。これらのバリエーションの両方を試してみましたが、役に立ちませんでした。画面を完全に明るくするには、まだ画面に触れる必要があります。腕に 5 ポンドの重りを付ければ、同じことを何度も繰り返すことによるわずかな苛立ちよりも、何らかのメリットがあるかもしれません。コメントアウトされたコードも試しました:

    WindowManager.LayoutParams layout = getWindow().getAttributes();
    layout.dimAmount=1F;
    //screenBrightness = 1F;
    getWindow().setAttributes(layout);
    setContentView(R.layout.main); 
4

2 に答える 2

0

Thomas Calc の以前の回答に基づいて、アプリケーションの開発中にのみディスプレイをオンにしたい場合は、試してみることをお勧めします。

if (BuildConfig.DEBUG) {
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

これにより、アプリケーションを開発している間だけディスプレイがオンのままになり、最終的な使用のためにアプリケーションをエクスポートするときはオンになりません。

于 2012-06-12T03:49:34.317 に答える
0

私は2つのアプローチを見ています:

1.最も簡単な方法は、keepScreenOn属性を使用して画面が暗くならないようにすることです。XML で View 属性として設定できますが、プログラムでも設定できます (setKeepScreenOn)。

たとえば、プログラムでこれを Activity の onCreate() メソッドに追加できます。

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);    

2.調光/明るさを処理したい場合は、layout.screenBrightnessも設定してみてください。このアプローチがうまくいかない場合は、WindowManager がそれを認識していない (つまり、更新が行われない) ことが原因である可能性があります。hereについて受け入れられたstackoverflowの回答がありますが、テストしたことはありません。

于 2012-06-12T01:36:37.220 に答える