๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Android

Android:: RelativeLayout ๊ณผ ConstraintLayout์˜ ์ฐจ์ด

by ๋„์บ๋ฆฌ๐Ÿฑ 2020. 7. 7.
๋ฐ˜์‘ํ˜•

โ— ConstraintLayout 

RelativeLayout์˜ "์ƒ๋Œ€์  ์œ„์น˜ ๊ด€๊ณ„์— ๋”ฐ๋ฅธ ๋ฐฐ์น˜" ํŠน์„ฑ +

LinearLayout์˜ "๊ฐ€์ค‘์น˜(weight)๊ฐ€ ๊ฐ€์ง„ ์žฅ์ " +

chain ์‚ฌ์šฉ์œผ๋กœ ๋‹ค๋ฅธ ๋ ˆ์ด์•„์›ƒ ์—†์ด "์š”์†Œ๋“ค์„ ๊ทธ๋ฃนํ™”" 

 

- ConstraintLayout๋Š” ์„ฑ๋Šฅํ–ฅ์ƒ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค → ์Šˆํ‰์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃฐ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—!

- ConstraintLayout๋Š” ๋ ˆ์ด์•„์›ƒ์— ๋ฐฐ์น˜๋˜๋Š” ๋ทฐ๋“ค์— ์—ฌ๋Ÿฌ ์ œ์•ฝ(Constraint)์„ ์ ์šฉํ•˜์—ฌ ๊ฐ ๋ทฐ์˜ ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •

 

 

โ— ConstraintLayout์†์„ฑ ๋ฐ ์„ค๋ช…

์†์„ฑ ์„ค๋ช…
layout_constraintLeft_toLeftOf ๋ทฐ์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintLeft_toRightOf ๋ทฐ์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintRight_toLeftOf ๋ทฐ์˜ ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintRight_toRightOf ๋ทฐ์˜ ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintTop_toTopOf ๋ทฐ์˜ ์œ„์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์œ„์ชฝ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintTop_toBottomOf ๋ทฐ์˜ ์œ„์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์•„๋ž˜์ชฝ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintBottom_toTopOf ๋ทฐ์˜ ์•„๋ž˜์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์œ„์ชฝ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintBottom_toBottomOf ๋ทฐ์˜ ์•„๋ž˜์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์•„๋ž˜์ชฝ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintBaseLine_toBaselineOf ๋ทฐ์˜ ํ…์ŠคํŠธ Baseline์„ ๋Œ€์ƒ ๋ทฐ์˜ ํ…์ŠคํŠธ Baseline์— ๋งž์ถค
layout_constraintStart_toEndOf ๋ทฐ์˜ ์‹œ์ž‘ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ๋ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintStart_toStartOf ๋ทฐ์˜ ์‹œ์ž‘ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์‹œ์ž‘ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintEnd_toStartOf ๋ทฐ์˜ ๋ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์‹œ์ž‘ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_constraintEnd_toEndOf ๋ทฐ์˜ ๋ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ๋ ์‚ฌ์ด๋“œ์— ๋งž์ถค
layout_goneMarginLeft ๋ทฐ ์œ„์ ฏ์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ ๋Œ€์ƒ ๋ทฐ๊ฐ€ View.GONE ์ƒํƒœ์ผ ๋•Œ ์—ฌ๋ฐฑ ์„ค์ •
layout_goneMarginTop ๋ทฐ ์œ„์ ฏ์˜ ์œ„ ์‚ฌ์ด๋“œ ๋Œ€์ƒ ๋ทฐ๊ฐ€ View.GONE ์ƒํƒœ์ผ ๋•Œ ์—ฌ๋ฐฑ ์„ค์ •
layout_goneMarginRight ๋ทฐ ์œ„์ ฏ์˜ ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ ๋Œ€์ƒ ๋ทฐ๊ฐ€ View.GONE ์ƒํƒœ์ผ ๋•Œ ์—ฌ๋ฐฑ ์„ค์ •
layout_goneMarginBottom ๋ทฐ ์œ„์ ฏ์˜ ์•„๋ž˜์ชฝ ์‚ฌ์ด๋“œ ๋Œ€์ƒ ๋ทฐ๊ฐ€ View.GONE ์ƒํƒœ์ผ ๋•Œ ์—ฌ๋ฐฑ ์„ค์ •
layout_goneMarginStart ๋ทฐ ์œ„์ ฏ์˜ ์‹œ์ž‘ ์‚ฌ์ด๋“œ ๋Œ€์ƒ ๋ทฐ๊ฐ€ View.GONE ์ƒํƒœ์ผ ๋•Œ ์—ฌ๋ฐฑ ์„ค์ •
layout_goneMarginEnd ๋ทฐ ์œ„์ ฏ์˜ ๋ ์‚ฌ์ด๋“œ ๋Œ€์ƒ ๋ทฐ๊ฐ€ View.GONE ์ƒํƒœ์ผ ๋•Œ ์—ฌ๋ฐฑ ์„ค์ •
layout_constraintHorizontal_bias ์ˆ˜ํ‰ ๋ฐฉํ–ฅ(Left/Right || Start/End) ์‚ฌ์ด๋“œ ์ œ์•ฝ์‹œ, ์–‘ ์‚ฌ์ด๋“œ ๊ฐ„ ์œ„์น˜ ๋น„์œจ
layout_constraintVertical_bias ์ˆ˜์ง ๋ฐฉํ–ฅ(Top/Bottom) ์‚ฌ์ด๋“œ ์ œ์•ฝ ์‹œ, ์–‘ ์‚ฌ์ด๋“œ ๊ฐ„ ์œ„์น˜ ๋น„์œจ
layout_constraintCircle ์›ํ˜• ์œ„์น˜ ์ง€์ •์— ์‚ฌ์šฉ๋  ๋Œ€์ƒ ๋ทฐ ID ์ง€์ •
layout_constraintCircleRadius ์›ํ˜• ์œ„์น˜ ์ง€์ • ์‹œ, ๋ทฐ ์œ„์ ฏ๊ณผ ๋Œ€์ƒ ๋ทฐ ์œ„์ ฏ ์ค‘์‹ฌ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ
layout_constraintCircleAngle ์›ํ˜• ์œ„์น˜ ์ง€์ • ์‹œ, ์› ๋‘˜๋ ˆ์—์„œ ๋ทฐ ์œ„์ ฏ์ด ๋ฐฐ์น˜๋  ๊ฐ๋„

 

โ— RelativeLayout

๋ ˆ์ด์•„์›ƒ ๋‚ด์˜ ์ž์‹(Children) ๋ทฐ ์œ„์ ฏ๋“ค์ด ์„œ๋กœ ๊ฐ„์˜ ์ƒ๋Œ€์ (Relative) ์œ„์น˜ ๊ด€๊ณ„์— ๋”ฐ๋ผ

์ตœ์ข…์ ์œผ๋กœ ํ‘œ์‹œ๋  ์˜์—ญ์„ ๊ฒฐ์ •ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๋ ˆ์ด์•„์›ƒ

๏ผŠ๋ฐฐ์น˜ ๊ด€๋ จ ์†์„ฑ ๊ฐ’์„ ์ฃผ์ง€ ์•Š์€์ฑ„๋กœ ๋ทฐ์œ„์ ฏ์„ ์ถ”๊ฐ€ํ•˜๋ฉด, RelativeLayout์˜ (Left,Top)์— ํ‘œ์‹œ๋œ๋‹ค.  // ๋ช‡๊ฐœ๋“  ์˜ค๋ฒ„๋žฉ.

 

โ— RelativeLayout ์†์„ฑ ๋ฐ ์„ค๋ช…

  ์†์„ฑ ์„ค๋ช…


๋ทฐ์™€ ๊ธฐ์ค€ ๋ทฐ์˜
์ƒ๋Œ€์  ์œ„์น˜
( ๋’ค์— of ๊ฐ€ ๋ถ™์–ด์žˆ๋Š”
above/ below ์žˆ๊ธด ์žˆ๋‹ค.)



layout_toLeftOf ๋ทฐ๋ฅผ ๊ธฐ์ค€ ๋ทฐ์˜ ์™ผ์ชฝ์— ๋ฐฐ์น˜
layout_above ๋ทฐ๋ฅผ ๊ธฐ์ค€ ๋ทฐ์˜ ์œ„์— ๋ฐฐ์น˜
layout_toRightOf ๋ทฐ๋ฅผ ๊ธฐ์ค€ ๋ทฐ์˜ ์˜ค๋ฅธ์ชฝ์— ๋ฐฐ์น˜
layout_below ๋ทฐ๋ฅผ ๊ธฐ์ค€ ๋ทฐ์˜ ์•„๋ž˜์— ๋ฐฐ์น˜
layout_toStartOf ๋ทฐ๋ฅผ ๊ธฐ์ค€ ๋ทฐ์˜ ์‹œ์ž‘์— ๋ฐฐ์น˜
layout_toEndOf ๋ทฐ๋ฅผ ๊ธฐ์ค€ ๋ทฐ์˜ ๋์— ๋ฐฐ์น˜
๋ทฐ์™€ ๋ถ€๋ชจ ๋ทฐ์˜
์ƒ๋Œ€์  ์œ„์น˜
(alignParent~  ์‹์œผ๋กœ ๋œ ์ด๋ฆ„
centervertical/horizontal ๋„ ์žˆ๊ธด ์žˆ๋‹ค.)
layout_alignParentLeft ๋ทฐ๋ฅผ ๋ถ€๋ชจ ์˜์—ญ ๋‚ด์—์„œ ์™ผ์ชฝ์— ๋ฐฐ์น˜
layout_alignParentTop ๋ทฐ๋ฅผ ๋ถ€๋ชจ ์˜์—ญ ๋‚ด์—์„œ ์œ„์ชฝ์— ๋ฐฐ์น˜
layout_alignParentRight ๋ทฐ๋ฅผ ๋ถ€๋ชจ ์˜์—ญ ๋‚ด์—์„œ ์˜ค๋ฅธ์ชฝ์— ๋ฐฐ์น˜
layout_alignParentBottom ๋ทฐ๋ฅผ ๋ถ€๋ชจ ์˜์—ญ ๋‚ด์—์„œ ์•„๋ž˜์ชฝ์— ๋ฐฐ์น˜
layout_centerHorizontal ๋ทฐ๋ฅผ ๋ถ€๋ชจ ์˜์—ญ ๋‚ด์—์„œ ๊ฐ€๋กœ ๋ฐฉํ–ฅ ๊ฐ€์šด๋ฐ์— ๋ฐฐ์น˜
layout_centerVertical ๋ทฐ๋ฅผ ๋ถ€๋ชจ ์˜์—ญ ๋‚ด์—์„œ ์„ธ๋กœ ๋ฐฉํ–ฅ ๊ฐ€์šด๋ฐ์— ๋ฐฐ์น˜
layout_centerInParent ๋ทฐ๋ฅผ ๋ถ€๋ชจ ์˜์—ญ ๋‚ด์—์„œ ์ • ์ค‘์•™์— ๋ฐฐ์น˜
layout_alignParentStart ๋ทฐ๋ฅผ ๋ถ€๋ชจ ์˜์—ญ ๋‚ด์—์„œ ์‹œ์ž‘ ์ง€์ ์— ๋ฐฐ์น˜
layout_alignParentEnd ๋ทฐ๋ฅผ ๋ถ€๋ชจ ์˜์—ญ ๋‚ด์—์„œ ๋ ์ง€์ ์— ๋ฐฐ์น˜
๋ทฐ์˜ ???์ชฝ ๊ณผ
๊ธฐ์กด ๋ทฐ์˜ ???์ชฝ์„ ๋งž์ถ”๊ธฐ
(align ~์‹์˜ ์ด๋ฆ„)
layout_alignLeft ๋ทฐ์˜ ์™ผ์ชฝ์„ ๊ธฐ์กด ๋ทฐ์˜ ์™ผ์ชฝ์— ๋งž์ถค
layout_alignTop ๋ทฐ์˜ ์œ„์ชฝ์„ ๊ธฐ์กด ๋ทฐ์˜ ์œ„์ชฝ์— ๋งž์ถค
layout_alignRight ๋ทฐ์˜ ์˜ค๋ฅธ์ชฝ์„ ๊ธฐ์กด ๋ทฐ์˜ ์˜ค๋ฅธ์ชฝ์— ๋งž์ถค
layout_alignBottom ๋ทฐ์˜ ์•„๋ž˜์ชฝ์„ ๊ธฐ์กด ๋ทฐ์˜ ์•„๋ž˜์— ๋งž์ถค
layout_alignBaseline ๋ทฐ์˜ ํฐํŠธ ๊ธฐ์ค€์„ ์„ ๊ธฐ์ค€ ๋ทฐ์˜ ํฐํŠธ ๊ธฐ์ค€์„ ์— ๋งž์ถค

 


↓ ConstraintLayout ์„ constraint๋ผ๊ณ , RelativeLayout์„ relative

 

- constraint์—์„œ๋Š” parent๋ž‘ ๋งค์น˜ํ•˜๊ณ  ์‹ถ์œผ๋ฉด  "parent"๋ผ๋Š” ์‹์œผ๋กœ ๊ฐ’์„ ์ฃผ๋Š”๋ฐ, relative์—์„œ๋Š”   "true"/"false" ๊ฐ’์„ ์ค€๋‹ค. 

 

- realative์—์„œ๋Š” ๋ทฐ์™€ ๊ธฐ์ค€๋ทฐ ์‚ฌ์ด์— below, above๋ผ๋Š”๊ฒŒ ์“ฐ์ธ๋‹ค. (constraint์—๋Š” below๋ž‘ above๊ฐ€ ๋“ค์–ด๊ฐ€๋Š”๊ฒŒ ์—†๋‹ค. )

๋‘๊ฐ€์ง€ ๋ชจ๋‘๋ฅผ ์‚ฌ์šฉํ•œ ํ›„, constraint layout์ด ์ข€๋” ํŽธ๋ฆฌ ํ–ˆ๋‹ค.

 

- constraint์—์„œ Left_toLeftOf="parent", ํ•˜๊ณ  Right_toRightOf="parent"ํ•˜๋ฉด ์–‘ ์˜†์„ ์žก์•„ ๋‹น๊ธฐ๋Š” ํž˜์ฒ˜๋Ÿผ ์ž‘์šฉํ•ด์„œ ํ•ด๋‹น ๋ทฐ๋Š” ๊ฐ€๋กœ ์ถ• ๊ธฐ์ค€ center์— ์œ„์น˜ํ•˜๊ฒŒ ๋œ๋‹ค.

 

- relative ์—์„œ align ์†์„ฑ์€ ํ•ด๋‹น ์‚ฌ์ด๋“œ ์˜์—ญ์— ๋‚˜๋ž€ํžˆ ๋ฐฐ์น˜ ์‹œํ‚ค๋Š” ์˜๋ฏธ.constraint์—์„  side constraint ํŠน์„ฑ์€ ๋‹จ์ˆœ algin ์‹œํ‚ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹ˆ๋‹ค. ๊ฐ side ์˜์—ญ์„ ์ •์˜ํ•˜๋Š” ์˜๋ฏธ๊นŒ์ง€ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.RelativeLayout์€ ์„ฑ๋Šฅ๋ฉด์—์„œ ์šฐ์ˆ˜ํ•˜์ง€๋งŒ View ๋ฐฐ์น˜ ์†์„ฑ์ด ๋งŽ๊ณ  ๋ณต์žกํ•˜๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

 

- constraint๋Š” ๋‹ค๋ฅธ ๋ ˆ์ด์•„์›ƒ๋“ค์— ๋น„ํ•ด์„œ ๋” ์ข‹๋‹ค. ๋” ๋น ๋ฅด๊ณ , ์‰ฝ๊ณ , ์œ ์—ฐํ•˜๊ณ , ์•„์ดํ…œ์ด ์‚ฌ๋ผ์งˆ๋•Œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๋‹ค๋ฅธ ํ™”๋ฉด ์œ ํ˜•์— ๋” ์ž˜ ๋ถ€ํ•ฉํ•˜๋ฉฐ ๊ธด ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. 

 

- constraint์—์„œ๋Š” ๊ธฐ์กด์˜ Relative์—์„œ ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋˜ ๋ทฐ๊ฐ„์˜ ์ƒํ˜ธ๊ด€๊ณ„ ์ •์˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. LinearLayout์„ ์จ์•ผ๋งŒ ํ–ˆ๋˜ ๋ทฐ ๋น„์œจ ์กฐ์ •๋„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ฐ€๋Šฅํ•˜๋‹ค.(depth ๊นŠ์–ด์ง€๋Š” ๊ฒƒ ๋ฐฉ์ง€)

 

- ๋ทฐ ๊ณ„์ธต์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜, ์„ฑ๋Šฅ ํ–ฅ์ƒ

 

- ๊ตฌ๊ธ€์ด ๊ธฐ์กด์˜ ๋งŽ์€ layout ๊ธฐ๋Šฅ์„ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ


โ— ConstraintLayout ์‚ฌ์šฉํ•ด์„œ App View ๋ชจ๋ฐฉํ•˜๊ธฐ

์ถ”๊ฐ€ : ์•ฑ๋ฐ” ์‚ญ์ œ, ์ƒํƒœ๋ฐ” ์ƒ‰์ƒ ๋ณ€๊ฒฝ, ์Šคํฌ๋กค ๋ทฐ ์ ์šฉ

<?xml version="1.0" encoding="utf-8"?>

<!--suppress AndroidElementNotAllowed -->
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="wrap_content">

    <androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:ignore="RedundantNamespace">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="100dp"
            android:layout_height="30dp"
            app:srcCompat="@drawable/logo"
            tools:layout_editor_absoluteX="2dp"
            tools:layout_editor_absoluteY="6dp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            tools:ignore="ContentDescription" />

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="30dp"
            android:layout_height="30dp"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:srcCompat="@drawable/person"
            tools:ignore="ContentDescription" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="30dp"
            android:layout_height="30dp"
            app:srcCompat="@drawable/ic_search_black_24dp"

            app:layout_constraintRight_toLeftOf="@id/imageButton1"
            app:layout_constraintTop_toTopOf="parent"
            tools:layout_editor_absoluteX="307dp"
            tools:layout_editor_absoluteY="13dp"
            tools:ignore="ContentDescription,VectorDrawableCompat" />

        <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="30dp"
            android:layout_height="30dp"
            app:srcCompat="@drawable/ic_videocam_black_24dp"
            app:layout_constraintRight_toLeftOf="@id/imageButton2"
            app:layout_constraintTop_toTopOf="parent"
            tools:layout_editor_absoluteX="288dp"
            tools:layout_editor_absoluteY="2dp"
            tools:ignore="ContentDescription,MissingConstraints,VectorDrawableCompat" />

        <ImageButton
            android:id="@+id/imageButton4"
            android:layout_width="30dp"
            android:layout_height="30dp"
            app:layout_constraintRight_toLeftOf="@id/imageButton3"
            app:layout_constraintTop_toTopOf="parent"
            app:srcCompat="@drawable/ic_cast_connected_black_24dp"
            tools:layout_editor_absoluteX="258dp"
            tools:ignore="ContentDescription,VectorDrawableCompat" />

        <ImageButton
            android:id="@+id/imageButton5"
            android:layout_width="25dp"
            android:layout_height="25dp"
            app:srcCompat="@drawable/musiclogo"
            app:layout_constraintTop_toBottomOf="@id/imageView"
            app:layout_constraintLeft_toLeftOf="parent"
            tools:layout_editor_absoluteX="4dp"
            tools:layout_editor_absoluteY="34dp"
            tools:ignore="ContentDescription,MissingConstraints" />

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:text="Music app"
            android:textSize="7dp"
            app:layout_constraintLeft_toRightOf="@id/imageButton5"
            app:layout_constraintTop_toBottomOf="@id/imageView"
            tools:layout_editor_absoluteX="37dp"
            tools:layout_editor_absoluteY="29dp"
            tools:ignore="HardcodedText,SpUsage" />

        <ImageButton
            android:id="@+id/imageButton7"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_marginLeft="10dp"
            app:srcCompat="@drawable/ic_movie_black_24dp"
            app:layout_constraintLeft_toRightOf="@id/button"
            app:layout_constraintTop_toBottomOf="@id/imageView"
            tools:layout_editor_absoluteX="193dp"
            tools:layout_editor_absoluteY="34dp"
            tools:ignore="ContentDescription,RtlHardcoded,VectorDrawableCompat" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:text="Originals"
            android:textSize="7dp"
            app:layout_constraintLeft_toRightOf="@+id/imageButton7"
            app:layout_constraintTop_toBottomOf="@id/imageView"
            tools:layout_editor_absoluteX="134dp"
            tools:layout_editor_absoluteY="23dp"
            tools:ignore="HardcodedText,SpUsage" />

        <FrameLayout
            android:id="@+id/frame01"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            app:layout_constraintTop_toBottomOf="@id/imageButton5"
            >
            <VideoView
                android:id="@+id/videoView"
                android:layout_width="match_parent"
                android:layout_height="200dp"
                tools:layout_editor_absoluteX="189dp"
                tools:layout_editor_absoluteY="194dp" />
            <TextView
                android:id="@+id/textView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|end"
                android:layout_marginBottom="10dp"
                android:layout_marginEnd="8dp"
                android:background="#111111"
                android:text=" 20:52 "
                android:textColor="#ffffff"
                tools:ignore="HardcodedText,RtlCompat" />
        </FrameLayout>

        <ImageButton
            android:id="@+id/imageButton8"
            android:layout_width="25dp"
            android:layout_height="25dp"
            app:srcCompat="@drawable/uploader"
            app:layout_constraintLeft_toLeftOf="parent"
            android:layout_marginTop="5dp"
            app:layout_constraintTop_toBottomOf="@id/frame01"
            tools:layout_editor_absoluteX="6dp"
            tools:layout_editor_absoluteY="258dp"
            tools:ignore="ContentDescription" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="330dp"
            android:layout_height="wrap_content"
            android:text=" ENG SUB) ๋ณด์‚ด PICK ์ฐ ๋ง›์ง‘ (feat.๋น„๋ฃก ๋ธŒ๊ธˆ) ์ถฉ๊ฒฉ๊ณผ ๋ฐ˜์ „์˜ ์ƒํ˜ธ๋ช…? [๋ฌด์—‡์ด๋“  ๋ฌผ์–ด๋ณด์‚ด 66ํ™”]"
            android:textColor="#111111"
            android:layout_marginTop="3dp"
            app:layout_constraintTop_toBottomOf="@id/frame01"
            app:layout_constraintLeft_toRightOf="@id/imageButton8"
            android:layout_marginLeft="5dp"
            tools:layout_editor_absoluteX="36dp"
            tools:layout_editor_absoluteY="269dp"
            tools:ignore="HardcodedText,RtlHardcoded" />

        <ImageButton
            android:id="@+id/imageButton9"
            android:layout_width="25dp"
            android:layout_height="25dp"
            app:srcCompat="@drawable/ic_more_vert_black_24dp"
            app:layout_constraintTop_toTopOf="@+id/textView2"
            app:layout_constraintRight_toRightOf="parent"
            tools:layout_editor_absoluteX="347dp"
            tools:layout_editor_absoluteY="254dp"
            tools:ignore="ContentDescription,VectorDrawableCompat" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="MYSTIC TV"
            android:textSize="10dp"
            app:layout_constraintLeft_toLeftOf="@id/textView2"
            app:layout_constraintTop_toBottomOf="@id/textView2"
            tools:layout_editor_absoluteX="32dp"
            tools:layout_editor_absoluteY="296dp"
            tools:ignore="HardcodedText,SpUsage" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="์กฐํšŒ์ˆ˜ 4.7์ฒœํšŒ"
            android:textSize="10dp"
            android:layout_marginLeft="5dp"
            app:layout_constraintLeft_toRightOf="@id/textView3"
            app:layout_constraintTop_toBottomOf="@id/textView2"
            tools:layout_editor_absoluteX="32dp"
            tools:layout_editor_absoluteY="296dp"
            tools:ignore="HardcodedText,RtlHardcoded,SpUsage" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1์ผ ์ „"
            android:textSize="10dp"
            android:layout_marginLeft="5dp"
            app:layout_constraintLeft_toRightOf="@id/textView4"
            app:layout_constraintTop_toBottomOf="@id/textView2"
            tools:layout_editor_absoluteX="32dp"
            tools:layout_editor_absoluteY="296dp"
            tools:ignore="HardcodedText,RtlHardcoded,SpUsage" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="30dp"
            android:layout_height="30dp"
            app:srcCompat="@drawable/logo2"
            tools:layout_editor_absoluteX="3dp"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="10dp"
            app:layout_constraintTop_toBottomOf="@id/textView5"
            app:layout_constraintLeft_toLeftOf="parent"
            tools:layout_editor_absoluteY="331dp"
            tools:ignore="ContentDescription,HardcodedText,RtlHardcoded,SpUsage"/>

        <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="YouTube๋กœ #์ง‘์—์„œํ•จ๊ป˜๋ผ์ด๋ธŒ๋ด์š”"
            android:textColor="#000000"
            app:layout_constraintTop_toTopOf="@id/imageView2"
            app:layout_constraintLeft_toRightOf="@id/imageView2"
            android:layout_marginLeft="10dp"
            tools:layout_editor_absoluteX="37dp"
            tools:layout_editor_absoluteY="327dp"
            tools:ignore="HardcodedText,RtlHardcoded,SpUsage"/>

        <TextView
            android:id="@+id/textView8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" ์ถ”์ฒœ "
            android:textColor="#ffffff"
            android:textSize="13dp"
            android:background="@color/colorBlue"
            android:layout_marginTop="5dp"
            app:layout_constraintTop_toBottomOf="@id/textView7"
            app:layout_constraintLeft_toLeftOf="@id/textView7"
            tools:layout_editor_absoluteX="34dp"
            tools:layout_editor_absoluteY="345dp"
            tools:ignore="HardcodedText,RtlHardcoded,SpUsage"/>
        <ImageButton
            android:id="@+id/imageButton10"
            android:layout_width="25dp"
            android:layout_height="25dp"
            app:srcCompat="@drawable/ic_more_vert_black_24dp"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="@id/textView8"
            tools:layout_editor_absoluteX="350dp"
            tools:layout_editor_absoluteY="320dp"
            tools:ignore="ContentDescription,VectorDrawableCompat" />
        <VideoView
            android:id="@+id/videoView2"
            android:layout_width="130dp"
            android:layout_height="75dp"
            app:layout_constraintLeft_toLeftOf="@id/imageView2"
            app:layout_constraintTop_toBottomOf="@id/textView8"
            android:layout_marginTop="15dp"
            tools:layout_editor_absoluteX="38dp"
            tools:layout_editor_absoluteY="378dp" />

        <TextView
            android:id="@+id/textView9"
            android:layout_width="110dp"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="@id/videoView2"
            android:layout_marginTop="3dp"
            app:layout_constraintTop_toBottomOf="@id/videoView2"
            android:text="HONNE- no song without you live stream"
            android:textSize="9dp"
            android:textColor="#111111"
            tools:layout_editor_absoluteX="11dp"
            tools:layout_editor_absoluteY="455dp"
            tools:ignore="HardcodedText,RtlHardcoded,SpUsage"/>

        <TextView
            android:id="@+id/textView10"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="@id/videoView2"
            app:layout_constraintTop_toBottomOf="@id/textView9"
            android:text="H O N N E"
            android:textSize="8dp"
            tools:layout_editor_absoluteX="11dp"
            tools:layout_editor_absoluteY="455dp"
            tools:ignore="HardcodedText,SpUsage" />

        <TextView
            android:id="@+id/textView11"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="@id/videoView2"
            app:layout_constraintTop_toBottomOf="@id/textView10"
            android:text="์กฐํšŒ์ˆ˜ 37๋งŒํšŒ ์ŠคํŠธ๋ฆฌ๋ฐ..."
            android:textSize="7dp"
            tools:layout_editor_absoluteX="11dp"
            tools:layout_editor_absoluteY="455dp"
            tools:ignore="HardcodedText,SpUsage" />

        <ImageButton
            android:id="@+id/imageButton11"
            android:layout_width="12dp"
            android:layout_height="12dp"
            app:layout_constraintRight_toRightOf="@id/videoView2"
            app:layout_constraintTop_toTopOf="@id/textView9"
            app:srcCompat="@drawable/ic_more_vert_black_24dp"
            tools:layout_editor_absoluteX="123dp"
            tools:layout_editor_absoluteY="452dp"
            tools:ignore="ContentDescription,VectorDrawableCompat" />


        <VideoView
            android:id="@+id/videoView3"
            android:layout_width="130dp"
            android:layout_height="75dp"
            app:layout_constraintLeft_toRightOf="@id/videoView2"
            android:layout_marginLeft="15dp"
            app:layout_constraintTop_toBottomOf="@id/textView8"
            android:layout_marginTop="15dp"
            tools:layout_editor_absoluteX="38dp"
            tools:layout_editor_absoluteY="378dp"
            tools:ignore="RtlHardcoded" />
        <TextView
            android:id="@+id/textView12"
            android:layout_width="110dp"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="@id/videoView3"
            android:layout_marginTop="3dp"
            app:layout_constraintTop_toBottomOf="@id/videoView3"
            android:text="OnlyOneOfLive | ๋น„์˜ค๋Š” ๋‚  ๋ฐค"
            android:textSize="9dp"
            android:textColor="#111111"
            tools:layout_editor_absoluteX="11dp"
            tools:layout_editor_absoluteY="455dp"
            tools:ignore="HardcodedText,RtlHardcoded,SpUsage"/>

        <TextView
            android:id="@+id/textView13"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="@id/videoView3"
            app:layout_constraintTop_toBottomOf="@id/textView9"
            android:text="OnlyOneOf official"
            android:textSize="8dp"
            tools:layout_editor_absoluteX="11dp"
            tools:layout_editor_absoluteY="455dp"
            tools:ignore="HardcodedText,SpUsage" />

        <TextView
            android:id="@+id/textView14"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="@id/videoView3"
            app:layout_constraintTop_toBottomOf="@id/textView10"
            android:text="์กฐํšŒ์ˆ˜ 22๋งŒํšŒ ์ŠคํŠธ๋ฆฌ๋ฐ..."
            android:textSize="7dp"
            tools:layout_editor_absoluteX="11dp"
            tools:layout_editor_absoluteY="455dp"
            tools:ignore="HardcodedText,SpUsage" />

        <ImageButton
            android:id="@+id/imageButton12"
            android:layout_width="12dp"
            android:layout_height="12dp"
            app:layout_constraintRight_toRightOf="@id/videoView3"
            app:layout_constraintTop_toTopOf="@id/textView9"
            app:srcCompat="@drawable/ic_more_vert_black_24dp"
            tools:layout_editor_absoluteX="123dp"
            tools:layout_editor_absoluteY="452dp"
            tools:ignore="ContentDescription,VectorDrawableCompat" />
        <VideoView
            android:id="@+id/videoView4"
            android:layout_width="130dp"
            android:layout_height="75dp"
            app:layout_constraintLeft_toRightOf="@id/videoView3"
            android:layout_marginLeft="15dp"
            app:layout_constraintTop_toBottomOf="@id/textView8"
            android:layout_marginTop="15dp"
            tools:layout_editor_absoluteX="38dp"
            tools:layout_editor_absoluteY="378dp"
            tools:ignore="RtlHardcoded" />

        <TextView
            android:id="@+id/textView15"
            android:layout_width="110dp"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="@id/videoView4"
            android:layout_marginTop="3dp"
            app:layout_constraintTop_toBottomOf="@id/videoView4"
            android:text="[sub] Liveํ’€๋ฒ„์ „ | 99์ฆˆ์˜ '๋ฏธ๋„์™€ ํŒŒ๋ผ์†”' ๋ฐด๋“œ..."
            android:textSize="9dp"
            android:textColor="#111111"
            tools:layout_editor_absoluteX="11dp"
            tools:layout_editor_absoluteY="455dp"
            tools:ignore="HardcodedText,SpUsage" />

        <TextView
            android:id="@+id/textView16"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="@id/videoView4"
            app:layout_constraintTop_toBottomOf="@id/textView9"
            android:text="์ฑ„๋„ ์‹ญ์˜ค์•ผ"
            android:textSize="8dp"
            tools:layout_editor_absoluteX="11dp"
            tools:layout_editor_absoluteY="455dp"
            tools:ignore="HardcodedText,SpUsage" />

        <TextView
            android:id="@+id/textView17"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="@id/videoView4"
            app:layout_constraintTop_toBottomOf="@id/textView10"
            android:text="์กฐํšŒ์ˆ˜ 199๋งŒํšŒ 3์ฃผ์ „"
            android:textSize="7dp"
            tools:layout_editor_absoluteX="11dp"
            tools:layout_editor_absoluteY="455dp"
            tools:ignore="HardcodedText,SpUsage" />
        <ImageButton
            android:id="@+id/imageButton13"
            android:layout_width="12dp"
            android:layout_height="12dp"
            app:layout_constraintRight_toRightOf="@id/videoView4"
            app:layout_constraintTop_toTopOf="@id/textView9"
            app:srcCompat="@drawable/ic_more_vert_black_24dp"
            tools:layout_editor_absoluteX="123dp"
            tools:layout_editor_absoluteY="452dp"
            tools:ignore="ContentDescription,VectorDrawableCompat" />

        <FrameLayout
            android:id="@+id/frame02"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_marginTop="10dp"
            app:layout_constraintTop_toBottomOf="@id/textView17"
            >
            <VideoView
                android:id="@+id/videoView5"
                android:layout_width="match_parent"
                android:layout_height="200dp"
                tools:layout_editor_absoluteX="189dp"
                tools:layout_editor_absoluteY="194dp" />

            <TextView
                android:id="@+id/textView18"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#111111"
                android:text=" 20:52 "
                android:textColor="#ffffff"
                android:layout_gravity="bottom|end"
                android:layout_marginBottom="10dp"
                android:layout_marginEnd="8dp"
                tools:ignore="HardcodedText,RtlCompat" />
        </FrameLayout>

        <ImageButton
            android:id="@+id/imageButton14"
            android:layout_width="25dp"
            android:layout_height="25dp"
            app:srcCompat="@drawable/uploader"
            app:layout_constraintLeft_toLeftOf="parent"
            android:layout_marginTop="5dp"
            app:layout_constraintTop_toBottomOf="@id/frame02"
            tools:layout_editor_absoluteX="6dp"
            tools:layout_editor_absoluteY="258dp"
            tools:ignore="ContentDescription" />

        <TextView
            android:id="@+id/textView19"
            android:layout_width="330dp"
            android:layout_height="wrap_content"
            android:text=" ENG SUB) ๋ณด์‚ด PICK ์ฐ ๋ง›์ง‘ (feat.๋น„๋ฃก ๋ธŒ๊ธˆ) ์ถฉ๊ฒฉ๊ณผ ๋ฐ˜์ „์˜ ์ƒํ˜ธ๋ช…? [๋ฌด์—‡์ด๋“  ๋ฌผ์–ด๋ณด์‚ด 66ํ™”]"
            android:textColor="#111111"
            android:layout_marginTop="3dp"
            app:layout_constraintTop_toBottomOf="@id/frame02"
            app:layout_constraintLeft_toRightOf="@id/imageButton14"
            android:layout_marginLeft="5dp"
            tools:layout_editor_absoluteX="36dp"
            tools:layout_editor_absoluteY="269dp"
            tools:ignore="HardcodedText,RtlHardcoded" />

        <ImageButton
            android:id="@+id/imageButton15"
            android:layout_width="25dp"
            android:layout_height="25dp"
            app:srcCompat="@drawable/ic_more_vert_black_24dp"
            app:layout_constraintTop_toTopOf="@+id/textView19"
            app:layout_constraintRight_toRightOf="parent"
            tools:layout_editor_absoluteX="347dp"
            tools:layout_editor_absoluteY="254dp"
            tools:ignore="ContentDescription,VectorDrawableCompat" />

        <TextView
            android:id="@+id/textView20"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="MYSTIC TV"
            android:textSize="10dp"
            app:layout_constraintLeft_toLeftOf="@id/textView19"
            app:layout_constraintTop_toBottomOf="@id/textView19"
            tools:layout_editor_absoluteX="32dp"
            tools:layout_editor_absoluteY="296dp"
            tools:ignore="HardcodedText,SpUsage" />

        <TextView
            android:id="@+id/textView21"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="์กฐํšŒ์ˆ˜ 4.7์ฒœํšŒ"
            android:textSize="10dp"
            android:layout_marginLeft="5dp"
            app:layout_constraintLeft_toRightOf="@id/textView20"
            app:layout_constraintTop_toBottomOf="@id/textView19"
            tools:layout_editor_absoluteX="32dp"
            tools:layout_editor_absoluteY="296dp"
            tools:ignore="HardcodedText,RtlHardcoded,SpUsage"/>

        <TextView
            android:id="@+id/textView555"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1์ผ ์ „"
            android:textSize="10dp"
            android:layout_marginLeft="5dp"
            app:layout_constraintLeft_toRightOf="@id/textView21"
            app:layout_constraintTop_toBottomOf="@id/textView19"
            tools:layout_editor_absoluteX="32dp"
            tools:layout_editor_absoluteY="296dp"
            tools:ignore="HardcodedText,RtlHardcoded,SpUsage" />
    </androidx.constraintlayout.widget.ConstraintLayout>

</ScrollView>


 

 

โ— RealativeLayout ์‚ฌ์šฉํ•ด์„œ App View ๋ชจ๋ฐฉํ•˜๊ธฐ

์ถ”๊ฐ€ : ์•ฑ๋ฐ” ์‚ญ์ œ, ์ƒํƒœ๋ฐ” ์ƒ‰์ƒ ๋ณ€๊ฒฝ, ์Šคํฌ๋กค ๋ทฐ ์ ์šฉ

<?xml version="1.0" encoding="utf-8"?>

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="wrap_content">

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="100dp"
            android:layout_height="30dp"
            app:srcCompat="@drawable/logo"
            tools:ignore="ContentDescription" />

        <ImageButton
            android:id="@+id/imageButton"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            android:layout_marginTop="-1dp"
            android:layout_marginRight="0dp"
            app:srcCompat="@drawable/uploader"
            tools:ignore="ContentDescription,RtlHardcoded" />


        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentTop="true"
            android:layout_toLeftOf="@id/imageButton"
            app:srcCompat="@drawable/ic_search_black_24dp"
            tools:ignore="ContentDescription,RtlHardcoded,VectorDrawableCompat" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentTop="true"
            android:layout_toLeftOf="@id/imageButton1"
            app:srcCompat="@drawable/ic_videocam_black_24dp"
            tools:ignore="ContentDescription,RtlHardcoded,VectorDrawableCompat" />

        <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentTop="true"
            android:layout_toLeftOf="@id/imageButton2"
            app:srcCompat="@drawable/ic_cast_connected_black_24dp"
            tools:ignore="ContentDescription,RtlHardcoded,VectorDrawableCompat" />

        <Button
            android:id="@+id/button"
            android:layout_marginTop="15dp"
            android:layout_marginLeft="7dp"
            android:layout_width="180dp"
            android:layout_height="40dp"
            android:layout_below="@id/imageView3"
            android:text="์ธ๊ธฐ"
            tools:ignore="HardcodedText,RtlHardcoded" />
        <Button
            android:id="@+id/button1"
            android:layout_marginLeft="7dp"
            android:layout_marginStart="20dp"
            android:layout_width="180dp"
            android:layout_height="40dp"
            android:layout_toRightOf="@id/button"
            android:layout_alignTop="@id/button"
            android:text="์Œ์•…"
            tools:ignore="HardcodedText,RtlHardcoded" />

        <Button
            android:id="@+id/button2"
            android:layout_marginTop="15dp"
            android:layout_marginLeft="7dp"
            android:layout_width="180dp"
            android:layout_height="40dp"
            android:layout_below="@id/button"
            android:text="๊ฒŒ์ž„"
            tools:ignore="HardcodedText,RtlHardcoded" />

        <Button
            android:id="@+id/button3"
            android:layout_marginTop="15dp"
            android:layout_marginLeft="7dp"
            android:layout_width="180dp"
            android:layout_height="40dp"
            android:layout_marginStart="20dp"
            android:layout_toRightOf="@id/button2"
            android:layout_below="@id/button1"
            android:text="์˜ํ™”"
            tools:ignore="HardcodedText,RtlHardcoded" />

        <Button
            android:id="@+id/button4"
            android:layout_marginTop="15dp"
            android:layout_marginLeft="7dp"
            android:layout_width="180dp"
            android:layout_height="40dp"
            android:layout_below="@id/button2"
            android:text="ํ•™์Šต"
            tools:ignore="HardcodedText,RtlHardcoded" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:layout_marginLeft="7dp"
            android:layout_below="@id/button4"
            android:text="์ธ๊ธฐ ๊ธ‰์ƒ์Šน ๋™์˜์ƒ"
            android:textColor="#000000"
            tools:ignore="HardcodedText,RtlHardcoded" />

        <VideoView
            android:id="@+id/videoView6"
            android:layout_width="wrap_content"
            android:layout_height="230dp"
            android:layout_marginTop="10dp"
            android:layout_below="@+id/textView2"/>

        <ImageButton
            android:id="@+id/imageButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/person"
            android:layout_below="@+id/videoView6"
            tools:ignore="ContentDescription" />

        <TextView
            android:id="@+id/textView23"
            android:layout_width="270dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/videoView6"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@+id/imageButton4"
            android:text="์ด์ œ์•ผ ์ œ๋Œ€๋กœ ๋ณด์—ฌ์ง€๋Š” AOA ์ง€๋ฏผ์˜ ๊ณผ๊ฑฐ ํ–‰๋™๋“ค"
            android:textColor="#000000"
            tools:ignore="HardcodedText,RtlHardcoded" />

        <TextView
            android:id="@+id/textView24"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ํ•ด๊ตฐ ์ˆ˜๋‹ฌ ์ฃ„ํ˜ธ์ˆ˜ 199๋งŒํšŒ 1์ผ์ „"
            android:layout_marginLeft="10dp"
            android:textSize="10dp"
            android:layout_toRightOf="@+id/imageButton4"
            android:layout_below="@+id/textView23"
            tools:ignore="HardcodedText,RtlHardcoded,SpUsage" />

        <ImageButton
            android:id="@+id/imageButton5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/videoView6"
            android:layout_marginRight="5dp"
            app:srcCompat="@drawable/ic_more_vert_black_24dp"
            tools:ignore="ContentDescription,RtlHardcoded,VectorDrawableCompat" />

        <VideoView
            android:id="@+id/videoView7"
            android:layout_width="wrap_content"
            android:layout_height="230dp"
            android:layout_below="@+id/textView24"
            android:layout_marginTop="7dp" />

        <TextView
            android:id="@+id/textView22"
            android:layout_width="450dp"
            android:layout_height="55dp"
            android:background="#ffffff"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true"
            android:text=""
            tools:ignore="HardcodedText" />

        <ImageButton
            android:id="@+id/imageButton6"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_alignParentStart="true"
            android:layout_alignParentBottom="true"
            android:layout_marginStart="-1dp"
            android:layout_marginBottom="-1dp"
            app:srcCompat="@drawable/ic_home_black_24dp"
            tools:ignore="ContentDescription,RtlCompat,VectorDrawableCompat" />

        <ImageButton
            android:id="@+id/imageButton7"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_alignParentBottom="true"
            android:layout_marginLeft="39dp"
            android:layout_toRightOf="@id/imageButton6"
            app:srcCompat="@drawable/ic_search_black_24dp"
            tools:ignore="ContentDescription,RtlCompat,RtlHardcoded,VectorDrawableCompat" />

        <ImageButton
            android:id="@+id/imageButton8"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"

            app:srcCompat="@drawable/ic_subscriptions_black_24dp"
            tools:ignore="ContentDescription,RtlCompat,VectorDrawableCompat" />

        <ImageButton
            android:id="@+id/imageButton9"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_alignParentBottom="true"
            android:layout_marginLeft="39dp"
            android:layout_toRightOf="@id/imageButton8"
            app:srcCompat="@drawable/ic_mail_black_24dp"
            tools:ignore="ContentDescription,RtlCompat,RtlHardcoded,VectorDrawableCompat" />

        <ImageButton
            android:id="@+id/imageButton10"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            app:srcCompat="@drawable/ic_video_library_black_24dp"
            tools:ignore="ContentDescription,RtlCompat,VectorDrawableCompat" />




    </RelativeLayout>

</ScrollView>

 

โ—  FrameLayout

- ์œ„์—์„œ Videoview ์œ„์— textview๋ฅผ ๋ณด์ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ, frameLayout์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

- framelayour์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž์‹์„ ์ถ”๊ฐ€ํ•˜๋ฉด, ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์ถ”๊ฐ€๋œ ๋ทฐ๊ฐ€ ์ ค ์ „๋ฉด์— ํ‘œ์‹œ๋œ๋‹ค.

 

 

<์ฐธ๊ณ  ์ž๋ฃŒ>

recipes4dev.tistory.com/127

recipes4dev.tistory.com/158

recipes4dev.tistory.com/126

abandonia.tistory.com/1

www.masterqna.com/android/63155/%EC%A2%8C%EC%9A%B0-%EC%8A%A4%ED%81%AC%EB%A1%A4-ui%EA%B4%80%EB%A0%A8-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4.

 

// ์Šคํฌ๋กค ๋ทฐ 

https://yollo.tistory.com/6

// ์ƒ‰์ƒ ๋ฐ” ์ƒ‰์ƒ ๋ณ€๊ฒฝ

https://xopenpro.tistory.com/21

// ์•ฑ๋ฐ” ์‚ญ์ œ

https://tristan91.tistory.com/82

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€