2024. 3. 19. 15:35, ๐ฑAndroid Study
๋ฐ์ํ
- UI๋ ๊ฐ๋ฐ์ 50%๋ฅผ ์ด๋ค๊ณ ์๊ฐํ ์ ๋๋ก ์ค์ํ ๋ถ๋ถ
1. ์๋๋ก์ด๋UI ๊ธฐ๋ณธ ๊ฐ๋ ๋ฐ ์ค๊ณ ๋ฐฉ๋ฒ
๋ทฐ(View)
- ์๋๋ก์ด๋ ์ฑ์ UI๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ ๋จ์ = ์์ ฏ + ๋ ์ด์์
- ๊ตฌ์ฑ
1. ์์ ฏ(Widget)
- View์ ์๋ธ ํด๋์ค๋ก์, ์ฑ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์๊ฐ์ ์ธ ๋ชจ์์ ์ง๋ UI์์
- ์) ๋ฒํผ, ๋ฉ๋ด, ๋ฆฌ์คํธ, ์ด๋ฏธ์ง๋ทฐ ๋ฑ
2. ๋ ์ด์์(Layout)
- ViewGroup์ ์๋ธ ํด๋์ค๋ก์, ๋ค๋ฅธ ๋ทฐ(์์ ฏ ํน์ ๋ ์ด์์)๋ฅผ ํฌํจํ๋ฉด์
์ด๋ค์ ์ ๋ ฌํ๋ ๊ธฐ๋ฅ์ ์ง๋ UI์์
UI ์ค๊ณ ๋ฐฉ๋ฒ
01. Layout Editor์ XML์ ์ฌ์ฉํ์ฌ UI์ค๊ณ
- AndroidStudio์ Layout Editor์ด์ฉ
- ๋๋๊ทธ ์ค ๋๋กญ ๋ฐฉ์์ WYSIWYG(what you see is what you get) ์๋ํฐ
- ๋ค์ํ ๋๋ฐ์ด์ค / ์๋๋ก์ด๋ ๋ฒ์ ์ ๋ํ Preview
- XML์ฝ๋ ์๋ ๋ณํ ๋ฐ ๋๊ธฐํ
๐ก Layout Editor ๊ตฌ์ฑ
- 1) Palette
- ๋ ์ด์์์ผ๋ก ๋๋๊ทธ ํ ์ ์๋ ๋ค์ํ ๋ทฐ ๋ฐ ๋ทฐ ๊ทธ๋ฃน์ ํฌํจ - 2) Component Tree
- ๋ ์ด์์์์ ๊ตฌ์ฑ์์์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํ์ - 3) ํด๋ฐ
- ํธ์ง๊ธฐ์์ ๋ ์ด์์ ๋ชจ์์ ๊ตฌ์ฑํ๊ณ ๋ ์ด์์ ์์ฑ์ ๋ณ๊ฒฝ (์ธ์ด, ํฌ๊ธฐ, API, ๋ธ๋ฃจํ๋ฆฐํธ ๋ฑ) - 4) ๋์์ธ ํธ์ง๊ธฐ
- ๋์์ธ ๋ทฐ๋ ์ฒญ์ฌ์ง(blueprint)๋ทฐ ๋๋ ๋ ๋ทฐ ๋ชจ๋์์ ๋ ์ด์์์ ์์ - 5) Attributes
- ์ ํํ ๋ทฐ์ ์์ฑ์ ์ ์ดํ ์ ์๋ ์์ญ - 6) ๋ทฐ ๋ชจ๋
- ๋ ์ด์์์ ์ฝ๋, ๋์์ธ, ๋ถํ (split) ๋ชจ๋ ์ค ํ๋๋ก ํ์
- ๋ถํ ๋ชจ๋๋ ์ฝ๋ ์ฐฝ๊ณผ ๋์์ธ ์ฐฝ์ ๋์์ ํ์ - 7) ํ๋/์ถ์ ๋ฐ ํ๋ฉด ์ด๋ ์ปจํธ๋กค
- ํธ์ง๊ธฐ ๋ด์์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ํฌ๊ธฐ์ ์์น๋ฅผ ์ ์ด
02. XML file์ ์ง์ ํธ์ง
- ํ์ํ XML ํ๊ทธ๋ ์์ฑ์ ์ ๋ชจ๋ฅผ ๊ฒฝ์ฐ ๋ถํธ
- Copy & paste๋ฅผ ์ด์ฉํ ํธ์ง์ด ํจ์จ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์
2. ์์ ฏ(Widget)
์์ ฏ(Widget)
- View์ ์๋ธ ํด๋์ค ์ค ์์ ฏ
- ๋ํ์ ์ธ ์์ ฏ์ TextView, EditText, Button ๋ฑ
๋ทฐ(View)
- Viewํด๋์ค๋ ๋ชจ๋ UI ์ปดํฌ๋ํธ๋ค์ ๋ถ๋ชจ ํด๋์ค
- Viewํด๋์ค์ ์์ฑ์ ๋ชจ๋ UI์ปดํฌ๋ํธ๋ค์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ ํ ์ ์์
layout_width, layout_height
- match_parent
- ๋ถ๋ชจ UI์ปดํฌ๋ํธ์ ํฌ๊ธฐ์ ๋ง์ถค
- ์๋๋ fill_parent ์์ผ๋ SDK2.2(ํ๋ก์)๋ถํฐ๋ match_parent๋ก ๋ณ๊ฒฝ. ๋ ๋ค ์ฌ์ฉ ๊ฐ๋ฅ - wrap_content
- UI ์ปดํฌ๋ํธ์ ๋ด์ฉ๋ฌผ ํฌ๊ธฐ์ ๋ง์ถค
๋ค์ํ ์ค๋งํธํฐ ํด์๋ ๋์
- 1) px (pixels)
- ์คํฌ๋ฆฐ์ ์ค์ ๋จ์
- ํ๋ฉด์ ์ ์ฒด ํ๋ฉด ํฌ๊ธฐ์ ์๊ด ์์ด ์ง์ ํ ์์น๋งํผ ํ์๋๋ ์ ๋์ ํ์ ๋จ์
- ๋ฐ๋ผ์ ๋์คํ๋ ์ด์ ํด์๋์ ๋ฐ๋ผ ๋ฌ๋ผ๋ณด์ผ ์ ์์ (์ ํด์๋์์ ๋ ํฌ๊ฒ ๋ณด์) - 2) dp (Density-independentPixel)
- ๋ฐ๋์ ๋ ๋ฆฝ์ ์ธ ๋จ์
- ๋์คํ๋ ์ด์ ํด์๋(๋ฐ๋)์ ์๊ด ์์ด ๋ค๋ฃฐ ์ ์๋ ๋จ์
ํ ์คํธ์ ๊ฒฝ์ฐ ํด์๋๊ฐ ๋ฌ๋ผ์ง๋ฉด ํด๋น ํด์๋์ ๋ง๊ฒ ํฌ๊ธฐ๊ฐ ๊ณฑํด์ง (x2, x3...)
์ด๋ฏธ์ง์ ๊ฒฝ์ฐ ํด๋๋ฅผ ๋ฐ๋ก ํด์๋์ ๋ง๊ฒ ๋ง๋ค์ด์ ๋์
- 160dpi(320x480) ์ฅ๋น์์์ 100dp(100px)์ 320dpi(720x1280)์ 100dp(200px)๋ ๊ฐ์ - 3) dpi (Dots per Inch)
- 1์ธ์น์ ๋ค์ด๊ฐ๋ ํฝ์ ์ ๋ํ๋ด๋ ๋จ์
- 100DPI๋ 1์ธ์น ๋น ํฝ์ ์ด 100๊ฐ ํฌํจ ๋๋ค๋ ๊ฒ์ผ๋ก, ๊ฐ์๊ฐ ๋ง์์๋ก ๊ณ ๋ฐ๋
- ์๋๋ก์ด๋์ ๊ธฐ์ค DPI๋ 160DPI (160DPI์ธ ๊ฒฝ์ฐ 1dp = 1px) - 4) in (inches)
- 5) mm (millimeters)
- 6) sp (ํ ์คํธ ์ง์ ๋จ์))
- ์ฌ๋ฌ ๊ฐ์ ํฌ๊ธฐ๋ณ ํ์ผ์ ๋ง๋ค์ด ๋ค์ํ ์ค๋งํธํฐ์ ํด์๋์ ๋์ฒํ๋ค.
TextView (ํ ์คํธ ํ์)
- View ์์ฑ ์์: id, layout_width, layout_height, background, etc
- text:"" ์ถ๋ ฅํ ๋ฌธ์์ด ์ง์
- textSize: ํฐํธ ํฌ๊ธฐ
- textStyle: ํ ์คํธ ์คํ์ผ (normal, bold, italic)
- typeface: ํ ์คํธ ํฐํธ (normal, sans, serif, monspace)
- textColor: ๋ฌธ์์ด ์์
- singleLine: ์์ฑ๊ฐ์ด 'true'๋ฉด, ํ ์คํธ๊ฐ ์์ ฏ์ ํญ๋ณด๋ค ๊ธธ์ด๋ ๊ฐ์ ๋ก ํ ์ค์ ์ถ๋ ฅ
๐ก background
- ๋ทฐ์ ๋ฐฐ๊ฒฝ์ ์ง์ ํ๋ฉฐ, ์์ ๋ฐ ์ด๋ฏธ์ง ๋ฑ์ ์ฌ๋ฌ๊ฐ์ง ๊ฐ์ฒด๋ก ์ง์ ๊ฐ๋ฅ
- #RGB, #ARGB, #RRGGBB, #AARRGGBB ๋ค ๊ฐ์ง ํ์ ์ ์ฉ ๊ฐ๋ฅ
- ์ฐธ๊ณ ๋ก ์์์ RGB์ ๊ฐ์ ์ปฌ๋ฌ์ฝ๋๋, res/values/colors.xml ๋ฑ๋ก, android.graphics.Color ํด๋์ค๋ก ์ค์ ๊ฐ๋ฅ
EditText (ํ ์คํธ ์ ๋ ฅ)
- TextView์ ๋ชจ๋ ์์ฑ ์์ (EditText๋ TextView์ ์๋ธํด๋์ค)
- inputType: ์ ๋ ฅ ์ ํ์ฉ๋๋ ํค๋ณด๋ ํ์ ์ค์ ๋ฐ ํค๋ณด๋ ํ์๋ฅผ ์ค์
- ํค๋ณด๋ ํ์
์ค์
- “text”: ์ผ๋ฐ์ ์ธ ํ ์คํธ ํค๋ณด๋
- “phone”: ์ ํ๋ฒํธ ์ ๋ ฅ ํค๋ณด๋
- “textEmailAddress”: @๋ฌธ์๋ฅผ ๊ฐ์ง ํ ์คํธ ํค๋ณด๋ - ํค๋ณด๋ ํ์ ์ค์
- “textCapWords” : ๋ฌธ์ฅ์ ์์์ ๋๋ฌธ์๋ก ๋ณํ
- “textAutoCorrect” : ์ ๋ ฅ๋ ๋จ์ด์ ์ ์ฌํ ๋จ์ด๋ฅผ ์ ์ํ๊ณ ์ ์๋ ๋จ์ด ์ ํ ์, ์ ๋ ฅ๋ ๋จ์ด๋ฅผ ๋์น
- “textMultiLine”:์ฌ๋ฌ ์ค์ ์ ๋ ฅ ๋ฐ์ ์ ์์
Button (๋ฒํผ)
- ์ผ๋ฐ์ ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋๋ ํธ์ ๋ฒํผ์ผ๋ก ์ฌ์ฉ์๊ฐ ๋ฒํผ์ ํด๋ฆญํ์์ ๋, ์ด๋ค ํ๋์ ์ํ ํ๊ณ ์ ํ ๋ ์ฌ์ฉ
- Buttonํด๋์ค๋ TextView์ ์๋ธํด๋์ค์ด๋ฏ๋ก, TextView์ ๋ชจ๋ ์์ฑ์ ์ฌ์ฉ ํ ์ ์์
- singleLine ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ฒํผ ๋ด์ ํ ์คํธ, ์์ด์ฝ์ ํ์ํ ์ ์์
- ๋ฒํผ ์ ์ฒด๋ฅผ ์ด๋ฏธ์ง๋ก ๊ทธ๋ฆฌ๊ธฐ ์ํด์๋ ImageButton ์ฌ์ฉ
๐ก ๋ฒํผ ํด๋ฆญ ์ด๋ฒคํธ ์ฒ๋ฆฌ
- ์ฌ์ฉ์๊ฐ ๋ฒํผ ์์ ฏ์ ํด๋ฆญ ํ ๋, ์ง์ ๋ ํ๋์ ์ํํ๊ธฐ ์ํด ๋ ์ค ํ๋ ์ค์
- (1) ๋ฒํผ ์์ ฏ์ onClick์์ฑ ํ์ฉ
- ๋ฒํผ ์์ ฏ์ ์ ์ํ ํ๋ฉด์ contentView๋ก ์ค์ ํ ์กํฐ๋นํฐ ํด๋์ค์ ์๋ก์ด ๋ฉ์๋๋ฅผ ์ถ๊ฐ
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.text_views) //์ด ๋ถ๋ถ์ด ๋ณ๊ฒฝ
}
fun doAction(v:View) {
Toast.makeText(getApplicationContext(), "Submitted Successfully",
Toast.LENGTH_SHORT).show(); // ๋ฒํผ์ ๋๋ ์ ๋ ์๋ํ toast ๋ฉ์์ง ์ถ๋ ฅ ํจ์ ์์ฑ
}
}
text_views.xml
<Button
android:onClick="doAction"/> // ๋ฒํผ์ ๋๋ ์ ๋ doAction์ ์คํํ onClick ์ค์
- (2) ์ด๋ฒคํธ ์ฒ๋ฆฌ ๊ฐ์ฒด๋ฅผ ์ด์ฉ
- ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ํด๋น ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๋ ์์ ฏ์ ๋ฑ๋ก
- ์์ ฏ์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ๋ฑ๋ก๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ ๊ฐ์ฒด๊ฐ ์ ์๋ ์ผ์ ์ํ
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val btn = findViewById<Button>(R.id.submit_button) // findViewbyID()๋ก ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ด
btn.setOnClickListener{ // ๋ฒํผ์ ๋๋ ์ ๋ ์๋ํ toast ๋ฉ์์ง ์ถ๋ ฅ SetonClickListener
Toast.makeText(this, "Submitted Successfully",Toast.LENGTH_SHORT).show();
}
}
}
text_views.xml
<Button
android:onClick="doAction"/> // ๋ฒํผ์ ๋๋ ์ ๋ doAction์ ์คํํ onClick ์ค์
๐กfindViewByID()
- Activity ํด๋์ค์ ์ ์๋ ๋ฉ์๋๋ก, Activity ํ์ ํด๋์ค์์ ์ฌ์ฉ ๊ฐ๋ฅ
- ํด๋น ์กํฐ๋นํฐ์ ์ฐ๊ฒฐ๋ XML layout ๋ฆฌ์์ค ์์(์์ ฏ) ์ค์์ id์์ฑ์ ๋ฐํ์ผ๋ก ํด๋น Java ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ด
- onCreate() ๋ฉ์๋ ๋ด์ setContentView()๋ฅผ ํตํด์ ์ฐ๊ฒฐ๋ XML ๋ฆฌ์์ค ์์ ์ค์์๋ง ๊ฒ์์ด ๊ฐ๋ฅํจ
- ๋ฐ๋ผ์ ๋ค๋ฅธ ์กํฐ๋นํฐ์ ์ฐ๊ฒฐ๋ XML layout ๋ฆฌ์์ค์ ์ ์๋ ์์ ฏ์ findViewByID() ๋ฉ์๋๋ก ๊ฐ์ ธ์ฌ ์๋ ์์
3. ์ค๋ฌด์์์ ๋ฒํผ ๋์์ธ
์ด๋ฏธ์ง ๋ฒํผ
- ๋๋ถ๋ถ์ ๋ฒํผ์ ImageView๋ฅผ ์ฌ์ฉ
- ImageView ์์ฑ์ Clickable ์ต์ ์ true๋ก ์ค์
- ์ด๋ฏธ์ง๋ normal, pressed, disable 3๊ฐ์ง๋ก ์ค๋น
- ํด์๋ ์ฒ๋ฆฌ๋ฅผ ์ํด dpi๋ณ 5๊ฐ๋ก ์ด๋ฏธ์ง ์ค๋น (hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi)
- 1๊ฐ์ ๋ฒํผ์ ์ด 15๊ฐ์ ์ด๋ฏธ์ง ํ์
9-patch (๋์ธํจ์น ์ด๋ฏธ์ง)
- ImageView์์์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ ๊ฐ๋ก/์ธ๋ก๋ชจ๋, ํด์๋์ ๋ฐ๋ผ ๊ฐ๊ฐ์ ์ด๋ฏธ์ง๊ฐ ํ์ํจ
(์) ๊ฐ๋ก๋ชจ๋ ๋ณ๊ฒฝ ์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๊ฐ ๊นจ์ง ์ ์์ - ๊ธฐ๊ธฐ๋ณ ํด์๋ ๋ฐ ํ๋ฉด ๋ชจ๋์ ๋ฐ๋ผ ๊ฐ๊ฐ์ ์ด๋ฏธ์ง ํ์ผ์ ๋ชจ๋ ๋ง๋ ๋ค๋ฉด ์ข์ง๋ง, ๊ด๋ฆฌ๊ฐ ์ฝ์ง ์์
- ๋์ , ์ด๋ฏธ์ง์ ํน์ ์์ญ(์ฃผ๋ก ๊ฐ์ฅ์๋ฆฌ)๋ ์๋ณธ ์ด๋ฏธ์ง ๊ทธ๋๋ก ํ์๋๋๋ก ๋ง๋ค๊ณ , ๊ทธ ์ธ ์ด๋ฏธ์ง์ ๋ด์ฉ์ด ํ์๋๋ ์์ญ์ ๋ฒํผ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋์ด๋๋๋ก ๋ง๋ค๋ฉด ๊น๋ํ ํํ์ ์ด๋ฏธ์ง ๋ฒํผ์ ํ์ํ ์ ์์
- ๋์ธํจ์น(9-patch) ์ด๋ฏธ์ง: ์ด๋ฏธ์ง์์ ๋์ด๋ ์ ์๋(stretchable) ์์ญ๊ณผ ์๋ณธ ํฌ๊ธฐ๋๋ก ํ์๋์ด์ผ ํ ์์ญ์ ๊ตฌ๋ถํ์ฌ, ์ด๋ฏธ์ง๊ฐ ๊ทธ๋ ค์ง ์์ญ์ ํฌ๊ธฐ๊ฐ ๋์ด๋๊ฑฐ๋ ์ค์ด๋ค๋๋ผ๋ ์๋ณธ์ด๋ฏธ์ง ํํ๋ฅผ ์ ์งํ๋๋ก ๋ง๋ค์ด์ง ์ด๋ฏธ์ง
ImageView
- ์ฑ ํ๋ฉด์ ์ด๋ฏธ์ง๋ฅผ ํ์ํ๋ ์ฉ๋๋ก ์ฌ์ฉ
- ์ฌ์ฉ๋ฒ
- Layout ๋ฆฌ์์ค XMLํ์ผ์ ImageView๋ฅผ ์ถ๊ฐ
- ํ๋ฉด์ ํ์ ํ ์ด๋ฏธ์ง ํ์ผ์ Drawable ๋ฆฌ์์ค ํด๋(/res/drawable)์ ์ถ๊ฐ
- ํ๋ฉด์ ํ์ ํ ์ด๋ฏธ์ง(Drawable) ๋ฆฌ์์ค ID๋ฅผ ImageView์ "src" ์์ฑ์ ์ง์
(์) android:src="@drawable/android_iconpic" - ์ฐธ๊ณ ์ฌํญ
- ์ด๋ฏธ์ง ํ์ผ์ ํ์์ .jpg,.png๊ฐ ๊ฐ๋ฅํ๋ ๋๋ถ๋ถ.png๋ฅผ ์ฌ์ฉํจ (ํฌ๋ช ๋ ๋๋ฌธ)
- ํด์๋์ ๋ฐ๋ฅธ ๋ค๋ฅธ ํฌ๊ธฐ์ ์ด๋ฏธ์ง๋ ๋ณ๋์ ํด๋๋ฅผ ์์ฑํ๊ณ ๋ณต์ฌ (drawable-xhdpi ๋ฑ)
- ํ์ผ๋ช ํ๊ธ, ์์ด ๋๋ฌธ์ ๋ถ๊ฐ, ์ซ์๋ก ํ์ผ๋ช ์์ ๋ถ๊ฐ - xml์ด ์๋ Kotlin ์์ค์์ ์ง์ ์ด๋ฏธ์ง๋ทฐ์ ์ด๋ฏธ์ง ๋ณ๊ฒฝ
var imageView: ImageView = findViewById(R.id.imageView1)
imageView.setImageResource(R.drawable.android_iconpic)
๐ก ImageView์ ์์ญ์ ๋ง๊ฒ ์ด๋ฏธ์ง ํฌ๊ธฐ ์กฐ์
- scaleType ์์ฑ > android:scaleType ์ด์ฉ
- 1) android:scaleType = "Center"
- ์ด๋ฏธ์ง์ ๋ณธ๋ ํฌ๊ธฐ์ ๋น์จ์ ์ ์งํ๋ฉฐ ์ด๋ฏธ์ง์ ์ค์์ ImageView์ ์ค์ฌ์ ๋ง์ถค
- ImageView๋ณด๋ค ์ด๋ฏธ์ง๊ฐ ํด ๊ฒฝ์ฐ ์ด๋ฏธ์ง๊ฐ ์๋ฆด ์ ์์ - 2) android:scaleType = "centerCrop"
- ์ด๋ฏธ์ง์ ๋น์จ์ ์ ์งํ๋ฉฐ ๊ฐ๋ก,์ธ๋ก ์ค ์งง์ ์ชฝ์ ImageView์ ๊ฝ ์ฐจ๊ฒ ์ถ๋ ฅ
- ImageView๋ฅผ ๋ฒ์ด๋๋ ๋ถ๋ถ์ ์๋ฆด ์ ์์ - 3) android:scaleType = "centerInside"
- ์ด๋ฏธ์ง์ ๊ฐ๋ก, ์ธ๋ก ์ค ๊ธด ์ชฝ์ ImageView์ ๋ ์ด์์์ ๋ง์ถฐ ์ถ๋ ฅ
- ์ด๋ฏธ์ง์ ๋น์จ์ ์ ์ง๋๋ฉฐ ๋จ๋ ๊ณต๊ฐ์ background์ ์์ผ๋ก ์ฑ์์ง
- fitCenter์ ๋ฌ๋ฆฌ ์ด๋ฏธ์ง๊ฐ ImageView๋ณด๋ค ์์ ๊ฒฝ์ฐ ํฌ๊ธฐ๊ฐ ์ ์ง - 4) android:scaleType = "fitCenter"
- ์ด๋ฏธ์ง์ ๊ฐ๋ก, ์ธ๋ก ์ค ๊ธด ์ชฝ์ ImageView์ ๋ ์ด์์์ ๋ง์ถฐ ์ถ๋ ฅ (centerInside์ ๋งค์ฐ ์ ์ฌ)
- ์ด๋ฏธ์ง์ ํฌ๊ธฐ๊ฐ ImageView๋ณด๋ค ์๋ค๋ฉด ImageView์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง - 5) android:scaleType = "fitStart"
- ๊ฐ๋ก, ์ธ๋ก ๋น์จ์ ์ ์งํ๋ฉฐ fitํ๊ฒ ์ถ๋ ฅ
- fitCenter์ ๋ค๋ฅด๊ฒ ์ข์ธก ์๋จ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ - 6) android:scaleType = "fitEnd"
- ๊ฐ๋ก, ์ธ๋ก ๋น์จ์ ์ ์งํ๋ฉฐ fitํ๊ฒ ์ถ๋ ฅ
- fitCenter์ ๋ค๋ฅด๊ฒ ์ฐ์ธก ์๋จ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ - 7) android:scaleType = "fitXY"
- ๊ฐ๋ก, ์ธ๋ก ๋น์จ์ ์๊ด ์์ด ImageView์ ๊ฝ ์ฐจ๊ฒ ์ถ๋ ฅ
- ์ด๋ฏธ์ง๊ฐ ์ฐ๊ทธ๋ฌ์ง ์ํ๋ก ๋ณด์ผ ์ ์์ - 8) android:scaleType = "matrix"
- ์ด๋ฏธ์ง์ ํฌ๊ธฐ, ๋น์จ์ ์ ์งํ๋ฉฐ ImageView์ ์ข์ธก ์๋จ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
- ์ด๋ฏธ์ง๊ฐ ํฌ๋ค๋ฉด ImageView ์ธ์ ๋ถ๋ถ์ ์๋ฆผ
๋ฐ์ํ
๐ฌ C O M M E N T