반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
오랜만에 안드로이드 카테고리에 포스팅을 합니다.
이번 포스팅에서는 안드로이드의 화면 밝기를 java, kotlin 코드로
조절하는 방법에 대해서 공부합니다.
0. 저는 그냥 배경이 흰색인 layout을 하나 만들었습니다.
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
android:background="@color/white"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.constraint.ConstraintLayout>
1. java 코드로 조절하기
public class BrightnessActivity extends AppCompatActivity {
private WindowManager.LayoutParams params;
private float origin;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_brightness);
params = getWindow().getAttributes();
}
@Override
protected void onResume() {
super.onResume();
origin = params.screenBrightness;
params.screenBrightness = 1.0f;
getWindow().setAttributes(params);
}
@Override
protected void onPause() {
super.onPause();
params.screenBrightness = origin;
getWindow().setAttributes(params);
}
}
onResume() 메소드에서 화면 밝기를 1로 만들어주면 앱에 들어왔을 때
화면 밝기가 최대로 올라갑니다.
origin 이라는 float 필드에 원래의 화면 밝기 값을 담아 놓음으로
onPause() 메소드가 호출될 때 화면 밝기가 원래대로 돌아가도록 만들었습니다.
이번에는 코틀린 코드를 보겠습니다.
2. kotlin 코드로 조절하기
class BrightnessActivity : AppCompatActivity() {
lateinit var params : WindowManager.LayoutParams
var origin = 0.0f
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_brightness)
}
override fun onResume() {
super.onResume()
origin = params.screenBrightness
params.screenBrightness = 1.0f
window.attributes = params
}
override fun onPause() {
super.onPause()
params.screenBrightness = origin
window.attributes = params
}
}
어렵지 않죠? 여기에 Seekbar 같은 걸 놔서 앱 안에서 밝기를 조절할 수도 있겠습니다.
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 Error:Cannot fit requested classes in a single dex file. Try supplying a main-dex list. # methods: 74362 > 65536 해결방법 (0) | 2018.07.11 |
---|---|
안드로이드 Volley 와 Vertx HttpServer HTTP 통신하기! (0) | 2018.07.04 |
안드로이드 코틀린으로 간단한 메모 앱 만들기 (0) | 2018.05.30 |
안드로이드 Logcat을 이용해서 로그를 찍어보기! Log 클래스 (0) | 2018.05.17 |
안드로이드 WIfiManager 로 주변 wifi 스캔하기! Android WifiManager scan access point wifi list (6) | 2018.05.16 |