2014-04-26 3 views
1

버튼을 클릭하여 화면 밝기를 조정하고 싶으므로 백 그라운드가 흰색 인 경우 화면 밝기가 최대가되어야하지만 배경이 검은 색이면 화면 밝기가 최소가되어야하지만 오류가 발생합니다. NullPointerException ... 여기 내 코드입니다 :화면 밝기를 설정하는 방법은 무엇입니까?

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

어디서 * NullPointerException *를 얻을 수 있습니까? –

+0

@MatejSpili 문제를 해결했지만 최대 밝기와 최소값을 얻는 방법은 무엇입니까? –

답변

5

최소 얻기 위해 최대

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

넣어이 줄을 얻기 위해이 라인을 넣어

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

앱 게시 전에이 대답 읽기 http://stackoverflow.com/a/9703871/1972566 – Ravi

관련 문제