본문 바로가기
728x90

안드로이드/리소스 관리8

안드로이드 resConfig resConfig(Build.Gradle) build.gradle 에서 resConfig 빌드 시간을 빠르게 하기 위해 Build.Gradle 에서 resConfig 셋팅 하는 경우가 있다. dev { resConfigs "ko", "xxxhdpi" } 주의 해야 할 점은 ko xxxhdpi 리소스를 제외한 모든 resource를 지우고 빌드 하기 때문에 실행 하고 나서 앱 내에서 언어를 변경 하게 되면 ko 리소스 빼고는 이미 지워진 상태이기 때문에 locale 셋팅을 바꾸더라도 다른언어로 변경 되지 않는다. 이 부분을 인지하고 있지 않은 상태에서 다국어 지원을 할 경우 원인을 찾기 쉽지 않다. 2023. 3. 23.
안드로이드 화면 회전 layout 폴더에 수식어를 추가하면 회전에 따른 화면을 따로 적용할 수 있다. layout-port : 세로 화면 layout-land : 가로 화면 뷰 목원하기 안드로이드에서 화면 회전이 발생하면 화면을 새롭게 만들게 된다. 이때 일부 UI 요소들은 초기 값으로 설정되기 때문에 복원하는 작업을 해야 한다. onSaveInstanceState 메서드에서 복원 시 필요한 값을 저장한다. onCreate 메서드에서 복원 작업을 해준다. 화면 회전 막기 만약 화면이 회전되는 것을 막고 고정시키고자 한다면 AndroidManifest.xml의 Activity 태그에 screenOrientation 속성으로 설정하면 된다. package com.example.rotation import androidx.appc.. 2022. 6. 24.
안드로이드 해상도 대응 안드로이드는 단말기의 해상도에 따라 이미지를 선택하여 그림을 그릴 수 있도록 할 수 있다. 고 해상도 단말기에서 보다 선명한 이미지를 보여주는 목적으로 사용한다. ldpi : ~ 120dpi mdpi : ~ 160dpi hdpi : ~ 240dpi xhdpi : ~ 320dpi xxhdpi : ~ 480dpi xxxhdpi : ~ 640dpi drawable 이미지 적용하기 먼저 단말기 해상도에 해당하는 폴더에 이미지가 있을 경우 원본 크기 그대로 그린다. 해상도에 해당하는 디렉토리에 이미지가 없을 경우 인접한 해상도 폴더의 이미지를 가져와 적당한 배율로 확대하거나 축소해서 그린다. 인접한 해상도 폴더에 이미지가 없을 경우 drawable 폴더의 이미지를 확대 혹은 축소해서 그린다. mipmap 이미지 .. 2022. 6. 24.
안드로이드 지역화 단말기 대응 안드로이드는 단말기의 상태에 따라 대응할 수 있도록 지원을 하고 있다. 언어, 지역, 화면 해상도, 크기, 안드로이드 버전 등 다양한 옵션을 설정하여 단말기의 현재 상태에 대응할 수 있다. res 폴더내의 폴더에 수식을 설정해주면 수식어와 일치하는 단말기에 대해 이미지, 문자열 등을 선택해서 사용할 수 있도록 제공할 수 있다. 지역화 하나의 애플리케이션으로 다양한 언어 및 국가를 지원하기 위한 개념 안드로이드는 res 폴더에 있는 리소스 폴더에 국가 코드를 추가하여 지역화를 할 수 있다. 2022. 6. 24.
안드로이드 9 patch 이미지 View의 배경으로 이미지를 지정할 때 이미지의 가로 세로 길이보다 View의 가로 세로 길이가 더 길면 이미지가 늘어나게 된다. 만약 이미지가 말풍선과 같은 이미지라면 아래처럼 보기 좋지가 않을 수도 있다. 9 patch 이미지는 이미지의 늘어날 부분을 설정한 이미지이다. 늘어나는 영역으로 설정된 부분만 늘어나고 그렇지 않는 부분은 늘어나지 않기 때문에 이미지가 늘어나더라도 이상하게 나타나지 않게 할 수 있다. 2022. 6. 24.
안드로이드 이미지 애니메이션 drawable 폴더에 xml을 이용해 이미지를 만들 때 움직이는 이미지를 만들 수 있다 연속 동작을 표현한 이미지들을 준비하고 xml 파일이 이미지 순서를 작성해주면 움직이는 이미지를 만들 수 있다. package com.example.imganimation import android.graphics.drawable.AnimationDrawable import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInst.. 2022. 6. 24.
안드로이드 이미지 리소스 안드로이드는 drawable 폴더에 이미지를 넣어서 이미지를 사용할 수 있다. 이 때 xml 통해 이미지를 새롭게 구성하여 사용할 수 있다. 여러 이미지를 겹쳐 하나의 이미지를 만들 때 패턴 이미지를 만들 때 상태에 따른 이미지를 만들 때 기타 등등 drawable vs mipmap 현재 안드로이드는 이미지를 넣는 폴더로 drawable과 mipmap을 제공한다. mipmap 은 애플리케이션의 아이콘으로 사용할 이미지를 넣는 곳이고 drawable은 애플리케이션 내에서 사용할 이미지를 넣은 곳이다. 두 폴더의 차이는 뒤에서 살펴본다. drawable, bitmap 두 클래스 모두 이미지 데이터를 관리하는 클래스이다. Bitmap은 jpg, png, gif 파일로 부터 읽어온 이미지 데이터를 관리하는 객체.. 2022. 6. 23.
안드로이드 리소스 관리 애플리케이션에서 사용하는 다양한 미디어 파일, 데이터 파일 등을 리소스 파일이라고 부른다. 안드로이드는 리소스 파일들을 res 폴더를 통해 관리한다. 안드로이드는 이미지와 xml 파일을 리소스로 관리하며 xml 파일을 안드로이드에서 정의한 데이터들을 관리하는 용도로 사용한다. xml 파일로 관리되는 데이터들은 언어, 크기 등에 따라 단말기에 대응할 수 있도록 처리할 수도 있다. 문자열 관리 문자열, 문자열 배열을 xml에 등록해서 사용할 수 있다. 다국어 지원을 위해 사용한다. 색상 관리 색상을 xml에 등록해서 사용할 수 있다. 안드로이드는 단말기 제조사가 자신의 단말기에 안드로이드 OS를 넣게 된다. 이 때, 단말기마다 지원하는 색상, 처리 방식 등이 달라 원하는 색상이 나오지 않을 수도 있는데 이 .. 2022. 6. 23.
728x90