π’ ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ List-item Π² Π―Π½Π΄Π΅ΠΊΡ 360 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π» 272 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ, Π½ΠΎ Π² 80% ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ 3-4 ΠΏΠ°ΡΡΠ΅ΡΠ½Π°
ΠΠΈΠΌΠ° ΠΠ°Π½Π΄Π΅Π»ΡΡΡΠ°ΠΌ ΠΈ ΠΡΡΠ° ΠΠ°ΡΠΏΠ΅Π½ΠΊΠΎ ΠΈΠ· Π―Π½Π΄Π΅ΠΊΡ 360 ΡΠ°ΡΡΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠ°ΠΊ ΡΠΏΡΠΎΡΡΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄ΠΈΠ·Π°ΠΉΠ½-ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ List-item Π±ΡΠ» ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ: 12 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² API, sealed-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ startSlot ΠΈ endSlot Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΠ·ΡΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΡΠ°.
ΠΡΠΎ ΠΏΠΎΡΠΎΠ΄ΠΈΠ»ΠΎ Π½Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ: ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ onClick Π² ListItem ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ EndSlot.Button ΡΠΎ ΡΠ²ΠΎΠΈΠΌ onClick? ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π°ΡΠ°Π» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΡΠΊΠΈ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π², ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π½Π΅ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ.
ΠΠ½ΡΡΡΠΈ: β ΠΠ΅ΡΡΠΈΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ, sealed-ΠΊΠ»Π°ΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΡΡΠΎΠΊΠΈΠΉ Π±Π°Π»Π»; β Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΊΡΠΈΠΏΡ ΡΠ΅ΡΠ΅Π· Kotlin Reflection, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³Π»ΡΠ΄ΡΠ²Π°Π΅Ρ Π²Π½ΡΡΡΡ sealed-ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ Π²Π΅Ρ Π²ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ; β AST-Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π» ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΡΠΎΠ±ΡΠ°Π» ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π» ΠΏΠΎ Π½Π°Π±ΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²; β ΠΡΡΡΠ½ΠΈΠ»ΠΈ: 80% ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ 3-4 ΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°, 20% ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΉ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΡΠ΅ΡΠ½ Ρ Toggle ΠΈ None; β Start-slot ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΠ»Ρ: Π΅ΡΠ»ΠΈ Π°Π²Π°ΡΠ°Ρ, ΡΠΎ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ΅ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ; β Π‘ΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ: List-item-avatar Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, List-item-file Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ², List-item-data Π΄Π»Ρ Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, List-item-menu Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ; β Π Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π²Π° ΡΡΠΎΠ²Π½Ρ: ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ListItemBase Ρ ΠΎΠ±ΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ-Π°Π΄Π°ΠΏΡΠ΅ΡΡ; β ΠΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² 3 ΡΠ°Π·Π° ΠΏΡΠΎΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ListItem ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅ ΡΠ°ΡΡΡΡΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ; β ΠΠ»Π°Π²Π½ΡΠΉ ΡΡΠΎΠΊ: Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π° Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Figma.
β‘οΈΠ§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
βββ
π» ΠΡΡΡ ΠΏΠΎ ΠΏΠΎΠΈΡΠΊΡ ΡΠ°Π±ΠΎΡΡ π ΠΡΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ π₯ ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°ΠΌ π¨ Π Π΅ΡΠ΅ΡΠ΅Π½ΡΡ
Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΡΡΠ»ΠΊΠΈ, Π½ΠΎ ΠΌΡ ΠΈΡ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ Π‘Π΅ΡΠΊΠΈ