์•ˆ๋“œ๋กœ์ด๋“œ ๋ธ”๋ฃจํˆฌ์Šค ์—ฐ๊ฒฐ ์‚ฝ์งˆ๊ธฐ๋ก

์•ˆ๋“œ๋กœ์ด๋“œ ๋ธ”๋ฃจํˆฌ์Šค ์—ฐ๊ฒฐ ์‚ฝ์งˆ๊ธฐ๋ก

5์ผ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

seekBar ์„ธ๋กœ๋ชจ๋“œ

seekBar ์„ธ๋กœ๋ชจ๋“œ

5์ผ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

์•ˆ๋“œ๋กœ์ด๋“œ ํŒŒ์ผ ์ €์žฅ

์•ˆ๋“œ๋กœ์ด๋“œ ํŒŒ์ผ ์ €์žฅ

5์ผ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

์•ˆ๋“œ๋กœ์ด๋“œ ๋…น์Œ+๋ฐ์‹œ๋ฒจ ์ธก์ •

์•ˆ๋“œ๋กœ์ด๋“œ ๋…น์Œ+๋ฐ์‹œ๋ฒจ ์ธก์ •

5์ผ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

DialogFragment์— Animation ์ง€์ •

DialogFragment์— Animation ์ง€์ •

2022๋…„ 6์›” 24์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

custom Snackbar

custom Snackbar

2022๋…„ 6์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

์นด์นด์˜ค๋งต์ฒ˜๋Ÿผ statusBar ๋ฐ‘์— ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ

์นด์นด์˜ค๋งต์ฒ˜๋Ÿผ statusBar ๋ฐ‘์— ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ

2022๋…„ 6์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

fragment add vs replace (with remove, addToBackStack)

fragment add vs replace

2022๋…„ 5์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

๊ฐ„๋‹จํ•œ ์‚ฝ์งˆ - fragment lifecycle

๊ฐ„๋‹จํ•œ ์‚ฝ์งˆ - fragment lifecycle

2022๋…„ 5์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

Jetpack navigation startDestination ๋™์ ์œผ๋กœ ์„ค์ •

Jetpack navigation startDestination

2022๋…„ 5์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

2022๋…„ 5์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

CollapsingToolbarLayout

CollapsingToolbarLayout

2022๋…„ 5์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

paging3 InsertSeparators()

paging3 InsertSeparators()

2022๋…„ 5์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

MainThread์— ์ ‘๊ทผํ•˜๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•

MainThread์— ์ ‘๊ทผํ•˜๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•

2022๋…„ 5์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

Handler

Handler

2022๋…„ 5์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

CustomView

CustomView

2022๋…„ 5์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

๊ฐ„๋‹จํ•œ ์‚ฝ์งˆ ๊ธฐ๋ก

๊ฐ„๋‹จํ•œ ์‚ฝ์งˆ ๊ธฐ๋ก

2022๋…„ 5์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

JSONObject(string) vs JSONObject().put(key,value)

JSONObject(string) vs JSONObject().put(key,value)

2022๋…„ 5์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

Dialog ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

Dialog ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

2022๋…„ 5์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

scaleAnimation

scaleAnimation

2022๋…„ 5์›” 2์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€