๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ’๏ธ Android/Android Studio

[Android] 21. ์œ„์ ฏ : ์ด๋ฏธ์ง€ ๋ทฐ์™€ ์ด๋ฏธ์ง€ ๋ฒ„ํŠผ

by A Lim Han 2023. 1. 12.

# ์œ„์ ฏ : ์ด๋ฏธ์ง€ ๋ทฐ์™€ ์ด๋ฏธ์ง€ ๋ฒ„ํŠผ

 

 

# ์œ„์ ฏ : ์ด๋ฏธ์ง€ ๋ทฐ

: ๊ทธ๋ฆผ์„ ์ถœ๋ ฅํ•˜๋Š” ์œ„์ ฏ์œผ๋กœ, ๊ทธ๋ฆผ์„ ์ฒจ๋ถ€ํ•˜๊ฑฐ๋‚˜ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•  ๋•Œ ์ด์šฉ

 

+ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ ์‚ฌ์šฉํ•  ๊ทธ๋ฆผ ํŒŒ์ผ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ์˜ [res]-[drawable] ํด๋”์— ์ €์žฅ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ

-->  ์ด๋ฏธ์ง€๋กœ์˜ ์ ‘๊ทผ์€ XML์—์„œ "@drawable/๊ทธ๋ฆผ ์•„์ด๋””" ํ˜•์‹์œผ๋กœ ์ ‘๊ทผ

-->  ํŒŒ์ผ์˜ ํฌ๋ฉง์€ png, jpg, gif๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜์ง€๋งŒ png, jpg ํ˜•์‹์„ ๊ถŒ์žฅ

 

 

- ์ด๋ฏธ์ง€ ๋ทฐ/๋ฒ„ํŠผ์˜ XML ์†์„ฑ

src ์ด๋ฏธ์ง€์˜ ๊ฒฝ๋กœ
maxHeight / maxWidth ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์ง€์ •
scaleType ์ด๋ฏธ์ง€์˜ ํ™•๋Œ€ ๋ฐ ์ถ•์†Œ ๋ฐฉ์‹ ์ง€์ •

+ scaleType์˜ ๊ฒฝ์šฐ center, fitEnd, fitStrart, matrix ๋“ฑ์˜ ์†์„ฑ๊ฐ’์ด ์กด์žฌํ•˜๋ฉฐ, ์ง€์ •๋œ ๊ฐ’์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€๋ฅผ ํ™•๋Œ€ ๋ฐ ์ถ•์†Œํ•˜๋Š” ๋ฐฉ์‹์ด ๊ฒฐ์ •๋œ๋‹ค.

 

 

ex 1) ์‹ค์Šต 1_์ด๋ฏธ์ง€ ๋ทฐ์™€ ์ด๋ฏธ์ง€ ๋ฒ„ํŠผ ์‚ฌ์šฉ ์‹ค์Šต

โ‘  picture_of_android.png ํŒŒ์ผ์„ drawable ํด๋”์— ์ €์žฅ

 

 

โ‘ก activity_main.xml ํŒŒ์ผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ • ํ›„ ํ”„๋กœ๊ทธ๋žจ์˜ ์ •์ƒ ์ž‘๋™ ์—ฌ๋ถ€ ํ™•์ธ

ํ”„๋กœ๊ทธ๋žจ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™๋จ์„ ํ™•์ธ

 

 

 

ex 2) ์‹ค์Šต 2_์ด๋ฏธ์ง€ ๋ทฐ์™€ ์ด๋ฏธ์ง€ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€์™€ ์ด๋ฏธ์ง€ ์ •๋ณด ์ถœ๋ ฅํ•˜๊ธฐ

โ‘  picture_of_android.png ํŒŒ์ผ์„ drawable ํด๋”์— ์ €์žฅ

 

 

โ‘ก activity_main.xml ํŒŒ์ผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •

 

 

โ‘ข ํ”„๋กœ๊ทธ๋žจ์˜ ์ •์ƒ ์ž‘๋™ ์—ฌ๋ถ€ ํ™•์ธ

ํ”„๋กœ๊ทธ๋žจ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™๋จ์„ ํ™•์ธ

 

 

 

ex 3) ์‹ค์Šต 3_์Œ์‹ ์‚ฌ์ง„ ๋ณด๊ธฐ ์•ฑ ์ œ์ž‘ํ•˜๊ธฐ

โ‘  rice.png, meat.png, pizza.png ํŒŒ์ผ์„ ๋ชจ๋‘ drawable ํด๋”์— ์ €์žฅ

 

 

โ‘ก activity_main.xml ํŒŒ์ผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•˜๊ธฐ

 

 

โ‘ข MainActivity.kt ํŒŒ์ผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•˜๊ธฐ

package com.example.image_integ_app

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.provider.MediaStore.Audio.Radio
import android.widget.*

class MainActivity : AppCompatActivity() {

    lateinit var text1 : TextView
    lateinit var text2 : TextView
    lateinit var chkAgree : CheckBox
    lateinit var rGroup1 : RadioGroup
    lateinit var rdoRice : RadioButton
    lateinit var rdoMeat : RadioButton
    lateinit var rdoPizza : RadioButton
    lateinit var btnOK : Button
    lateinit var imgFood : ImageView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        title ="์Œ์‹ ์‚ฌ์ง„ ๋ณด๊ธฐ"
        text1 = findViewById(R.id.Text1)
        chkAgree = findViewById(R.id.ChkAgree)

        text2 = findViewById(R.id.Text2)
        rGroup1 = findViewById(R.id.Rgroup1)
        rdoMeat = findViewById(R.id.RdoMeat)
        rdoPizza = findViewById(R.id.RdoPizza)
        rdoRice = findViewById(R.id.RdoRice)

        btnOK = findViewById(R.id.BtnOK)
        imgFood = findViewById(R.id.ImgFood)

        chkAgree.setOnCheckedChangeListener { buttonView, isChecked ->
            if (chkAgree.isChecked == true) {
                text2.visibility = android.view.View.VISIBLE
                rGroup1.visibility = android.view.View.VISIBLE
                btnOK.visibility = android.view.View.VISIBLE
                imgFood.visibility = android.view.View.VISIBLE
            } else {
                text2.visibility = android.view.View.INVISIBLE
                rGroup1.visibility = android.view.View.INVISIBLE
                btnOK.visibility = android.view.View.INVISIBLE
                imgFood.visibility = android.view.View.INVISIBLE
            }
        }
        btnOK.setOnClickListener {
            when(rGroup1.checkedRadioButtonId)
            {
                R.id.RdoRice -> imgFood.setImageResource(R.drawable.rice)
                R.id.RdoMeat -> imgFood.setImageResource(R.drawable.meat)
                R.id.RdoPizza -> imgFood.setImageResource(R.drawable.pizza)
                else -> Toast.makeText(applicationContext, "์Œ์‹์„ ๋จผ์ € ์„ ํƒํ•˜์‹œ์˜ค.", Toast.LENGTH_SHORT).show()
            }
        }
    }
}

 

 

โ‘ฃ ํ”„๋กœ๊ทธ๋žจ์˜ ์ •์ƒ ์ž‘๋™ ์—ฌ๋ถ€ ํ™•์ธ

ํ”„๋กœ๊ทธ๋žจ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™๋จ์„ ํ™•์ธ