반응형

[Snippet]

 

화면 밝기 변경

밝기 값

0~255(최소~최대), -1(시스템 설정값)

private void changeScreenBrightness(int value) {
Window window = getWindow();
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.screenBrightness = value * 1.0f / 255;
window.setAttributes(layoutParams);
}

 

[Sample]

버튼 3개(최소, 최대, 시스템 설정)로 해당 밝기 선택, 종료시는 시스템 설정 밝기로 복귀

public class MainActivity extends AppCompatActivity {
private static final int BRIGHTNESS_MIN = 0;
private static final int BRIGHTNESS_MAX = 255;
private static final int BRIGHTNESS_SYSTEM = -1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

findViewById(R.id.btnMinBrightness).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
changeScreenBrightness(BRIGHTNESS_MIN);
}
});

findViewById(R.id.btnMaxBrightness).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
changeScreenBrightness(BRIGHTNESS_MAX);
}
});

findViewById(R.id.btnSystemBrightness).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
changeScreenBrightness(BRIGHTNESS_SYSTEM);
}
});
}

@Override
protected void onStop() {
super.onStop();
changeScreenBrightness(BRIGHTNESS_SYSTEM);
}

private void changeScreenBrightness(int value) {
Window window = getWindow();
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.screenBrightness = value * 1.0f / 255;
window.setAttributes(layoutParams);
}

ScreenBrightness.zip 

 

+ Recent posts