-------------------------------------------------------------------------------------
2023.04.26
ConstraintLayout를 사용하시면 대부분의 해상도 틀어짐은 잡을 수 있습니다.
혹시라도 ConstraintLayout의 기능을 모르시는 분들께서는 먼저 ConstraintLayout에 대해서
공부해보고 저의 게시글을 참고해보시기 바랍니다.
-------------------------------------------------------------------------------------
해상도별로 해상도가 다 달라서 네이티브 앱 프로젝트를 진행중이신분들이 많은 고충을 겪으실겁니다.
저도 하이브리드만 해보다가 이번에 네이티브 진행하면서 애를 많이 먹었는데요.
해상도별로 대응해보는 방법을 알아볼게요.
우선 빨간표시부분 클릭하셔서 Android 말고 Project보기로 해주세요.
이렇게 해주시면 됩니다.
그럼 이런화면이 나오는데 여기서 res폴더를 오른쪽 클릭해주세요.
그럼 사진처럼 진행하셔서 Android Resource Directory를 클릭해주세요.
여기에다가 빨간 밑줄친 부분에 이름을 적어주면되는데요.
같은 방법으로 아래이름으로 5개를 만들어주세요.
values-hdpi
values-mdpi
values-xhdpi
values-xxhdpi
values-xxxhdpi
그러면 이렇게 폴더가 생성이 됩니다.
이렇게 사진처럼 폴더 오른쪽을 클릭하셔서 Values resource file를 클릭해주세요.
저는 이렇게 dimens로 이름을 지었습니다. (다른분은 dimen이라고 짓는분도 계신거같은데 크게 상관없는거같습니다)
이 방법으로
values-hdpi
values-mdpi
values-xhdpi
values-xxhdpi
values-xxxhdpi
이 폴더들에 전부다 dimens파일을 생성해주세요.
그럼 이제 다시 Project보기로 했던걸 다시 Android보기로 변경해주세요.
그럼 res-values폴더안에 이렇게 dimens폴더가있는데 펼쳐보시면 저희가 방금 만들어놓은 해상도별
hdpi / mdpi / xhdpi / xxhdpi / xxxhdpi 이렇게 5개가 존재합니다.
하나 들어가볼게요. 예제로
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="auto_left">40dp</dimen>
<dimen name="pw_left">14dp</dimen>
<dimen name="id_left">34dp</dimen>
<dimen name="login_top">110dp</dimen>
<dimen name="member_left">16dp</dimen>
</resources>
이런식으로 정의를 해봤습니다.
이제 dp를 지정했으니 이걸 xml(레이아웃)에 가서 써먹어볼게요.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/member_left"
android:layout_marginTop="60dp"
android:text="아이디"
android:textSize="14sp"
android:textColor="#ffffff">
</TextView>
이렇게 marginLeft에 보시면 @dimen/member_left 라고 제가 위에서 정의해놓은걸 불러왔어요.
이걸 이제 해상도별로 dp를 다 다르게 적용하셔서 해상도에 대응해보았습니다.
xxhdpi에는 10dp
xxxhdpi에는 20dp
이런식으로 다르게 적용하는 방법입니다.
그럼 안드로이드가 해상도를 인식하여 그에맞는 dimen을 인식해서 불러옵니다.
ㄱ ㅏ ㄱ 푸시
ㅗ o ㅗ 푸시 :D
궁금하신 사항은 댓글 남겨주세요.
'Android' 카테고리의 다른 글
안드로이드 TextView,EditText 등 null값 체크해보기. (0) | 2020.02.12 |
---|---|
안드로이드 하이브리드앱 새창 Popup(팝업)창 띄우기 및 닫기 (25) | 2020.01.28 |
Android(안드로이드) 벨소리,진동,무음 제어하기 (0) | 2020.01.14 |
블루투스 활성화 여부에따라 앱종료 및 계속 실행하기. (0) | 2019.12.30 |
안드로이드 기기의 블루투스 지원여부 확인하기. (0) | 2019.12.30 |
댓글