4

Androidの画面の明るさを完全に暗く設定しようとしています。初めては完璧に動作しますが、明るさが0になった後は、画面が表示されます。Androidの画面を完全に暗くするにはどうすればよいですか?

これは私のコードです:

WindowManager.LayoutParams params = 

    getWindow().getAttributes();
    params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
    params.screenBrightness = 0.0f;
    getWindow().setAttributes(params);
4

2 に答える 2

4

すべての画面には、完全にオフになることなく、最小の明るさがあります。これが設定0.0fです。これはハードウェアの制限であり、電話機によって異なります。ハードウェアを使用して画面を完全に暗くする方法はありません。(@trumpetlicks の回答が指摘しているように、バックライトを削除できます。)

1 つのアプリの明るさのみを制御しようとしている場合は、 を使用しAbsoluteLayoutてアプリを格納し、 をView幅 100%、高さ 100% で他のすべての上に重ねて配置し、その背景を に設定できますrgba(0, 0, 0, <your alpha value>)。これは可能な限り調光に近いと思います。

于 2012-06-18T22:11:42.883 に答える
1

私があなたの質問を正しく理解していれば、あなたはすでに理解しています。あなたが見ているのは、ほぼすべての LCD タイプの画面のアーティファクトです。バックライトがあります。あなたが持っているparams.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;ので、画面(およびそのバックライト)はほぼ確実に点灯したままになり、出力される実際のピクセル値は黒になります。これは、LCD の残念な特性であり、その黒は非常に黒くしかないということです!

于 2012-06-18T22:13:09.523 に答える