2014-04-26 3 views
1

Je veux régler la luminosité de l'écran en cliquant sur un bouton, donc quand le fond est blanc la luminosité de l'écran devrait être maximale, pendant que l'arrière-plan est noir, la luminosité de l'écran devrait être minimale, mais j'ai une erreur: NullPointerException ... voici mon code:comment régler la luminosité de l'écran?

public void lamp2(boolean mode){ 

     if(mode){ 

      r.setBackgroundColor(Color.WHITE); 
      btn.setText("Turn OFF"); 
      btn.setTextColor(Color.RED); 
      WindowManager.LayoutParams lp = getWindow().getAttributes(); 
      lp.screenBrightness = 90/100.0f; 
      getWindow().setAttributes(lp); 
      this.mode = true; 
     } 

     else if(!mode){ 

      r.setBackgroundColor(Color.BLACK); 
      btn.setText("Turn ON"); 
      btn.setTextColor(Color.GREEN); 
      WindowManager.LayoutParams lp = getWindow().getAttributes(); 
      lp.screenBrightness = 100/100.0f; 
      getWindow().setAttributes(lp); 
      this.mode = false; 
     } 
    } 
+0

où obtenez-vous * NullPointerException *? –

+0

@MatejSpili J'ai résolu le problème, mais comment puis-je obtenir la luminosité maximale et le minimum? –

Répondre

5

Mettez ces lignes pour obtenir un maximum

WindowManager.LayoutParams params = getWindow().getAttributes(); 
params.screenBrightness = 1.0f; 
getWindow().setAttributes(params); 

Mettez ces lignes pour obtenir au minimum

WindowManager.LayoutParams params = getWindow().getAttributes(); 
params.screenBrightness = 0.1f; 
getWindow().setAttributes(params); 
+0

Lisez cette réponse avant de publier votre application http://stackoverflow.com/a/9703871/1972566 – Ravi

Questions connexes