티스토리 뷰

728x90

 


Resource

• 리소스에 대한 기본적인 개념 : [📱Android/🔍UI] 13. Resource(리소스)

 

[Android/UI] 13. Resource(리소스)

Resource • 반복적으로 사용할 수 있는 자원 • res 폴더에 저장 - 사용 방법 : @리소스종류/리소스명 • 종류 - drawable, layout, mipmap, values... 1. drawable • 이미지 리소스 파일 - .jpg, .png, ... : 복잡한 이

apro-developer.tistory.com

 

 

• 코틀린에서 리소스에 접근하는 방법

     - resources

     - ContextCompat

     - ResourcesCompat

     -> 안드로이드 SDK 버전에 따라 되는 것이 있고 안 되는 것이 있다.

 

package com.example.fastcampus

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat

class Resource_14 : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_resource14)

        findViewById<TextView>(R.id.textView1).setOnClickListener {
            (it as TextView).text = resources.getText(R.string.my_string) // string 리소스에 접근

            it.background = resources.getDrawable(R.drawable.dog, null) // drawable 리소스에 접근 1
            it.background = ContextCompat.getDrawable(this, R.drawable.dog) // drawable 리소스에 접근 2
            it.background = ResourcesCompat.getDrawable(resources, R.drawable.dog, null) // drawable 리소스에 접근 3
        }
    }
}

textView1 뷰를 클릭하면 코드에서 접근한 리소스 파일로 text와 background가 바뀐다.

 

* 사용자 기기의 해상도에 따라 다른 이미지의 해상도를 주고 싶은 경우, 리소스 매니저를 이용하면 여러 해상도의 이미지를 한 번에 관리하기가 편하다.

• 해상도에 따라 이미지를 코드 상으로 일일이 조건을 분기할 필요가 없고, 여러 해상도의 사진을 준비해놓고 코드 상 사진만 임포트하면 알아서 안드로이드에서 기기에 맞게 해상도를 조절해준다.

 

 

 

 

 

 

 

 

 

이 글은

패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online

강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.

 


728x90
댓글
공지사항