Android 設置屏幕亮度

jopen 10年前發布 | 20K 次閱讀 Android Android開發 移動開發

    setScreenMode(Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); // 手動調節屏幕亮度  
    final String[] bgLight = new String[] {"暗","稍暗","標準","稍亮","亮"};

            Dialog alertDialog3 = new AlertDialog.Builder(MainActivity.this)  
            .setTitle("調整屏幕亮度")  
            .setSingleChoiceItems(bgLight, 0, new DialogInterface.OnClickListener() {  

                @Override  
                public void onClick(DialogInterface dialog, int which) {  
                    selectedBrightness = which;  
                    }  
                }).  
                setPositiveButton("確認", new DialogInterface.OnClickListener() {  
                    @Override  
                    public void onClick(DialogInterface dialog, int which) {  

                        int brightness = 0;  

                        switch(selectedBrightness)   
                        {   
                            case 0:brightness = 10; break;   
                            case 1:brightness = 40; break;   
                            case 2:brightness = 75; break;  
                            case 3:brightness = 110; break;   
                            case 4:brightness = 140; break;   
                            default:brightness = 75;    
                        }   
                        setScreenBrightness(brightness);  
                        saveScreenBrightness(brightness);  
                    }  
                 }).  
               setNegativeButton("取消", new DialogInterface.OnClickListener() {  
                    @Override  
                    public void onClick(DialogInterface dialog, int which) {  
                    // TODO Auto-generated method stub  
                        }  
                    }).  
               create();  
               alertDialog3.show();  </pre><a class="CopyToClipboard" title="copy" href="/misc/goto?guid=4959615349695272558"></a></div>

</div> </div>

</div> </div>

    /**

     * 設置當前屏幕亮度的模式     
     * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 為自動調節屏幕亮度 
     * SCREEN_BRIGHTNESS_MODE_MANUAL=0  為手動調節屏幕亮度 
     */  
      private void setScreenMode(int paramInt){  
        try{  
          Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, paramInt);  
        }catch (Exception localException){  
          localException.printStackTrace();  
        }  
      }  
      /** 
       * 設置當前屏幕亮度值  0--255 
       */  
       private void setScreenBrightness(int paramInt){  

            //Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, paramInt);  
            //paramInt = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, -1);  
            WindowManager.LayoutParams localLayoutParams =  getWindow().getAttributes();  
            float f = paramInt / 255.0F;  
            localLayoutParams.screenBrightness = f;  
            getWindow().setAttributes(localLayoutParams);  

       }  
       /** 
           * 保存當前屏幕亮度值  0--255 
           */  
       private void saveScreenBrightness(int paramInt){    
            try{    
              Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, paramInt);    
            }    
            catch (Exception localException){    
              localException.printStackTrace();    
            }    
       }    </pre> <p><br />

參考鏈接:http://daikainan.iteye.com/blog/1455323</p> 來自:http://blog.csdn.net/willyang519/article/details/9877661

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!