当前位置:操作系统 > 安卓/Android >>

Android屏幕亮度调节

[java] 
SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar); 
 
        // 进度条绑定最大亮度,255是最大亮度 
        seekBar.setMax(255); 
        // 取得当前亮度 
        int normal = Settings.System.getInt(getContentResolver(), 
                Settings.System.SCREEN_BRIGHTNESS, 255); 
        // 进度条绑定当前亮度 
        seekBar.setProgress(normal); 
 
        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 
 
            @Override 
            public void onStopTrackingTouch(SeekBar seekBar) { 
                // 取得当前进度 
                int tmpInt = seekBar.getProgress(); 
 
                // 当进度小于80时,设置成80,防止太黑看不见的后果。 
                if (tmpInt < 80) { 
                    tmpInt = 80; 
                } 
 
                // 根据当前进度改变亮度 
                Settings.System.putInt(getContentResolver(), 
                        Settings.System.SCREEN_BRIGHTNESS, tmpInt); 
                tmpInt = Settings.System.getInt(getContentResolver(), 
                        Settings.System.SCREEN_BRIGHTNESS, -1); 
                WindowManager.LayoutParams wl = getWindow().getAttributes(); 
 
                float tmpFloat = (float) tmpInt / 255; 
                if (tmpFloat > 0 && tmpFloat <= 1) { 
                    wl.screenBrightness = tmpFloat; 
                } 
                getWindow().setAttributes(wl); 
 
            } 
 
            @Override 
            public void onStartTrackingTouch(SeekBar seekBar) { 
                // TODO Auto-generated method stub 
            } 
 
            @Override 
            public void onProgressChanged(SeekBar seekBar, int progress, 
                    boolean fromUser) { 
                // TODO Auto-generated method stub 
            } 
        }); 
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,