-2

Androidアプリケーション内のシークバーを使用して画面の明るさを上げたいのですが、その方法がわかりません。この機能を追加するにはどうすればよいですか?

4

3 に答える 3

4

これを使用して、画面の明るさを設定できます。

WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 100 / 100.0f;
getWindow().setAttributes(lp);

さて、コントロールのようなプログレスバーを実装したいので、SeekBarを実装することをお勧めします。これを使用すると、seekbarのトラッキング値に基づいて簡単に増減できます。

これは、SeekBarを使用して実装された完全な例です

于 2011-10-21T05:57:02.980 に答える
1

これを使用して明るさを変更します(システム全体)

 ContentResolver cr = getContentResolver();
 int brightness = Settings.System.getInt(cr,Settings.System.SCREEN_BRIGHTNESS);            
 Settings.System.putInt(cr, Settings.System.SCREEN_BRIGHTNESS, brightness);
 WindowManager.LayoutParams lp = getWindow().getAttributes();
 lp.screenBrightness = brightness / 255.0f;
 getWindow().setAttributes(lp);

この例を使用して、で上記のコードを呼び出すことができますonProgressChanged()。デフォルト値のprogress範囲は0〜100です。

于 2011-10-21T05:56:46.657 に答える
0

WindowManager.LayoutParamsを使用して画面の明るさを変更できます。を使用してLayoutParamsを取得しgetWindow().getAttributes()、フィールドscreenBrightnessを0〜1(0暗い、1明るい)の数値に設定してからgetWindow().setAttributes()、変更したLayoutParamsオブジェクトを使用して呼び出します。

于 2011-10-21T05:58:10.510 に答える