티스토리 뷰
728x90
Resource
• 리소스에 대한 기본적인 개념 : [📱Android/🔍UI] 13. Resource(리소스)
• 코틀린에서 리소스에 접근하는 방법
- 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
}
}
}
* 사용자 기기의 해상도에 따라 다른 이미지의 해상도를 주고 싶은 경우, 리소스 매니저를 이용하면 여러 해상도의 이미지를 한 번에 관리하기가 편하다.
• 해상도에 따라 이미지를 코드 상으로 일일이 조건을 분기할 필요가 없고, 여러 해상도의 사진을 준비해놓고 코드 상 사진만 임포트하면 알아서 안드로이드에서 기기에 맞게 해상도를 조절해준다.
이 글은
패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online
강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.
728x90
'📱 Android > 💡 개념' 카테고리의 다른 글
[Android/개념] 16. AddView (0) | 2022.11.08 |
---|---|
[Android/개념] 15. Library(라이브러리) (0) | 2022.11.07 |
[Android/개념] 13. 동기(Synchronous) & 비동기(Asynchronous) (0) | 2022.11.04 |
[Android/개념] 12. Thread(쓰레드) (0) | 2022.11.04 |
[Android/개념] 11. Fragment(프래그먼트) (0) | 2022.11.03 |
댓글
공지사항