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