Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΡΡΡΠ΅ #2: ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡΡΡ Π² ΡΠΎΡΠΌΡ | by Vitaly Veldyasov
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ https://android.jlelse.eu/make-your-app-shine-2-how-to-make-a-button-morph-into-a-form-81d2f0e6bf4a
ΠΡΠΈΠ²Π΅Ρ, ΡΡΠΎ Π²ΡΠΎΡΠ°Ρ ΡΡΠ°ΡΡΡ ΠΈΠ· ΡΠ΅ΡΠΈΠΈ, Π³Π΄Π΅ Ρ ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΡΡΠ΅, Π½ΠΎ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ ΠΌΠΈΠΊΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ°ΡΡΡ Π·Π΄Π΅ΡΡ ΠΈ ΡΡΠ΅ΡΡΡ Π·Π΄Π΅ΡΡ. ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π·Π΄Π΅ΡΡ:
https://github.com/leandroBorgesFerreira/buttonMorphToFormAndroid
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ UI (views) ΡΡΠ΅Π±ΡΡΡ ΡΡΠΈΠ»ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ ΡΡΠΎ ΡΠ΅ Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΏΡΠΈΠ²Π»Π΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΡΠΈΡΠ°ΡΠ° ΠΎ ΡΠ΅Π½Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠ½Π΅ ΠΎΡΠ΅Π½Ρ Π½ΡΠ°Π²ΠΈΡΡΡ:
βΠΡΠ»ΠΈ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ ΡΡΠΎ Π΄ΠΎΡΠΎΠ³ΠΎ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠΊΠΈΠ½ΡΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°.β βRalf Speth
Π’Π°ΠΊ ΡΡΠΎ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΎΠ±Ρ βΠ²ΡΠ»ΠΈΠ·Π°ΡΡβ Π²Π°Ρ UI β ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΠΈΠ΄Π΅ΠΉ (Π’ΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΎ Π²Π°ΡΠΈΡ
Π΄ΠΈΠ΄Π»Π°ΠΉΠ½Π°Ρ
, ΠΎΠΊ?). ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π²Π°ΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ°ΠΌΠΈ Π·Π°Ρ
ΠΎΡΠ΅Π»ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΡΠΌΡ.
Π’Π°ΠΊ, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΡΠ±ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π°Ρ layout Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΈ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ XML, Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠΎ Π½Π°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ°:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ: βΠΡΠΎ Π²ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΡ?? o.Oβ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² ΡΠΎΡΠΌΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π²ΡΠ΅ view Π²Π½ΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΡΠΎΡ layout:
1 β CardView ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ (ΠΎΠ±Π΅ΡΡΠΊΠ°). ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΊΡΡΠ³Π»ΠΈΡΡ ΡΠ³Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΡΠΎΡΠΌΡ. ΠΡΠΎ view, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡΡΡ.
2 β ΠΠ½ΠΎΠΏΠΊΠ° Ρ id = login_btn Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅ click.
3 β LinearLayout ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ views ΡΠΎΡΠΌΡ.
4 β ΠΡΠ΅ views ΡΠΎΡΠΌΡ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎ-Π²ΠΎ visibility = GONE (ΡΠΊΡΡΡΡ). Π‘Π΅ΠΉΡΠ°Ρ Π½Π°ΡΠ° ΡΠΎΡΠΌΠ° Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°.
ΠΠΎΠ³Π΄Π° views ΡΠΎΡΠΌΡ ΡΠΊΡΡΡΡ, ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²ΡΠ΅ view, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ:
Π£ΡΠΎΠΊ 3.

ΠΡΠΎ ΡΡΠΎΠΊΠΈ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈ ΠΌΡ Π΅ΡΠ΅ Π½Π΅ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Kotlin, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β ΡΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΡΠΊΡΠ°Π½ΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Kotlin ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΡΠ°Π½ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ Android ΡΠ²ΡΠ·Π°Π½ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Java ΠΈΠ»ΠΈ Kotlin, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΠΊΠ°ΠΊ Activity. ΠΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΊΠ°ΠΊ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈΠ»ΠΈ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π½ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠΌΠΈΠ½ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ, Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΊΡΠ°Π½ Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠΌ Β«Hello WorldΒ» ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ MainActivity.
ΠΠ°ΠΊΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² XML. Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΌΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΌΠ°ΠΊΠ΅Ρ Π»ΠΈΠ±ΠΎ ΠΏΡΡΠ΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ XML, Π»ΠΈΠ±ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΠΊΠ΅ΡΠ° Π² XML ΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ°ΠΊΠ΅ΡΡ Π»ΡΠ±ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
1 . Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΌΠ°ΠΊΠ΅ΡΠ° Π² Android Studio
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ view, ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ ΠΈΠ·ΡΡΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΌΠ°ΠΊΠ΅ΡΠΎΠ² Π² Android Studio ΠΈ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π΄Π»Ρ view.
- ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΌΠ°ΠΊΠ΅ΡΠΎΠ².
- ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ².
- ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
- ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΌΠ°ΠΊΠ΅ΡΠ°
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ
ΡΠ°Π½ΡΡΡΡ Π²ΡΠ΅ ΠΌΠ°ΠΊΠ΅ΡΡ res/layout.
- ΠΠ²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΠΌΠ°ΠΊΠ΅ΡΠ° ΡΠΊΡΠ°Π½Π° activity_main
- Π Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ: Β« ΠΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΠ΅ΠΊΡΡΒ» . ΠΡΠΊΡΠΎΠΉΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«Π’Π΅ΠΊΡΡΒ».XML-ΠΊΠΎΠ΄, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ».
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠΈΠ·Π°ΠΉΠ½Β», ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΌΠ°ΠΊΠ΅ΡΠ°.
- Π ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΌΠ°ΠΊΠ΅ΡΠ° Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ + ΠΈ β Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΠΈΠ΄Π° ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Zoom to Fit Screen (ΡΠΏΡΠ°Π²Π° ΠΎΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ), ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π²Π°ΡΠ΅ΠΌΡ ΡΠΊΡΠ°Π½Ρ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π·Π½Π°ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΠΉ Π²ΠΈΠ΄, Π²ΠΈΠ΄ ΡΠ΅ΡΡΠ΅ΠΆΠ° ΠΈΠ»ΠΈ ΠΎΠ±Π° Π²ΠΈΠ΄Π° Π²ΠΌΠ΅ΡΡΠ΅.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π·Π½Π°ΡΠΎΠΊ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠ°ΠΊΠ΅ΡΠ°.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅Π½Ρ Π²ΡΠ±ΠΎΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΌΠ°ΠΊΠ΅Ρ Π½Π° ΡΠ°Π·Π½ΡΡ Π°Π½Π΄ΡΠΎΠΈΠ΄-ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ .
ΠΠ·ΡΡΠΈΡΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ
Π΄Π΅ΡΠ΅Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²- ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Β«ΠΠΈΠ·Π°ΠΉΠ½Β».
ΠΠ° ΡΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ view Π² Π²Π°ΡΠ΅ΠΌ ΠΌΠ°ΠΊΠ΅ΡΠ΅. - ΠΡΡΠ΅Π³ΡΠ»ΠΈΡΡΠΉΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ Π² ΠΠ΅ΡΠ΅Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ Β«ΠΠ°ΠΊΡΡΡΡ ΠΏΠ°Π½Π΅Π»ΡΒ» Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ Π΄Π΅ΡΠ΅Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².ΠΠ°Π½Π΅Π»Ρ Component Tree Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ.
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ ΠΏΠ°Π½Π΅Π»Ρ Component Tree, ΡΠ΅Π»ΠΊΠ½ΡΠ² ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠ΅ Β«ΠΠ΅ΡΠ΅Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²Β» ΡΠ»Π΅Π²Π°.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΏΠ°Π½Π΅Π»Ρ Component Tree, ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΡΡΠΈΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ view.
- Π Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠΎΡΠ΅Π½Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ view ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ConstraintLayout.ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ°ΠΊΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ view, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ view. ΠΠΎΡΠ½Π΅Π²ΠΎΠΉ view Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ViewGroup, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ view, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄ΡΡΠ³ΠΈΠ΅ view. ConstraintLayout β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π³ΡΡΠΏΠΏΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ViewGroup. ΠΠ³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»ΠΎΠ²ΠΎ constraint β ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΈ ΡΡΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΡ Π² ΡΡΠΎΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ view. ΠΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ RelativeLayout, LinearLayout ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ. /linearlayout-i-relativelayout-osobennosti-maketov-ekranov-android/
ΠΠ°Π»Π΅Π΅ Π² ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ConstraintLayout Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
- ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ConstraintLayout ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ TextView.
- ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ XML-ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΌΠ°ΠΊΠ΅ΡΠ°, ΡΠ΅Π»ΠΊΠ½ΡΠ² Π²ΠΊΠ»Π°Π΄ΠΊΡ Β« Π’Π΅ΠΊΡΡ Β» Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Β«ΠΠΈΠ·Π°ΠΉΠ½Β».
- Π ΠΊΠΎΠ΄Π΅ XML ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ <android.support.constraint.ConstraintLayout>. ΠΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ <TextView> ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
<android.support.constraint.ConstraintLayout β¦ > <TextView β¦ /> </android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout β¦ >
<TextView β¦ />
</android.support.constraint.ConstraintLayout> |
- ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ» ΠΈΠ·ΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° TextView.ΠΠΎΠΊΠ° ΡΡΠΎ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ ΠΎ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ
ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ
ΠΌΠ°ΠΊΠ΅ΡΠ° β ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ
ΠΏΠΎΠ·ΠΆΠ΅.
<TextView android:layout_width=Β»wrap_contentΒ» android:layout_height=Β»wrap_contentΒ» android:text=Β»Hello World!Β» β¦ />
<TextView
android:layout_width=Β»wrap_contentΒ»
android:layout_height=Β»wrap_contentΒ»
android:text=Β»Hello World!Β»
β¦ /> |
- ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° text Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ Π½Π° Π»ΡΠ±ΠΎΠ΅.
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠΈΠ·Π°ΠΉΠ½Β».
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ TextView Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² .
- ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» ΡΠΏΡΠ°Π²Π°.
- ΠΡΠ»ΠΈ ΠΏΠ°Π½Π΅Π»Ρ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΊΡ Β« Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ.
- ΠΡΠ»ΠΈ ΠΏΠ°Π½Π΅Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ Β« ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°Β»,ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
- Π ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ TextView Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» ΡΠ½ΠΎΠ²Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β« ΠΠ²ΠΎΠ΄Β»,ΡΡΠΎΠ±Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡ Π²ΡΠ±ΠΎΡ
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«Π’Π΅ΠΊΡΡΒ», ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΊΡΡ Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π² XML.
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.
- ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΠΈΠ·Π°ΠΉΠ½Β» ΡΠ°Π·Π²Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ»Π΅ textAppearance Π΄Π»Ρ TextView.
- ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ΅ΠΊΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠΈΡΡΠΎΠ², ΡΠ²Π΅Π»ΠΈΡΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΆΠΈΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ. (ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΊΡΡΡΠΈΡΡ ΠΏΠ°Π½Π΅Π»Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ.)
- ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ°. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π² ΠΏΠΎΠ»Π΅ textColor ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π±ΡΠΊΠ²Ρ g.ΠΠΎΡΠ²ΠΈΡΡΡ ΠΌΠ΅Π½Ρ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ²Π΅ΡΠ°. ΠΠΎΠ·ΠΆΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ Π±ΡΡΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ²Π΅ΡΠ°.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ @android:color/darker_gray ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Enter .
- ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ» ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ XML Π΄Π»Ρ TextView. ΠΡ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π½ΠΎΠ²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ.
ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ Β«Hardcoded string should use @string resource,Β» Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ, Π²Ρ ΡΠΊΠΎΡΠΎ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ.
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ΡΠ΅ ΡΠ°Π·.
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠΈΠ·Π°ΠΉΠ½Β». Π ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ Β« ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°Β» . ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ², ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ TextView Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΡΠ±ΡΠ°Π½ Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².ΠΠ°Π½Π΅Π»Ρ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° TextView.
- ΠΡΠΎΠΊΡΡΡΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π»Ρ TextView.
2. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΈ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ²
Π Π°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅ΡΡΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΌΠ΅ΡΡΠ°Ρ
. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ΅ΡΡΡΡΠ° Π² ΠΌΠ΅ΡΡΠ΅ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
- ΠΠ°ΠΊ ΠΈΠ·Π²Π»Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π² ΡΠ΅ΡΡΡΡΡ.
- ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ΅ΡΡΡΡΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ².
- Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΡΠΎΡΡ ΠΈ ΡΠΈΡΠΈΠ½Ρ ΠΌΠ°ΠΊΠ΅ΡΠ°.
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅
ΡΠ΅ΡΡΡΡΠΎΠ²- ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Β«ΠΡΠΎΠ΅ΠΊΡΒ» ΡΠ»Π΅Π²Π° ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ res /values ΡΠ°ΠΉΠ» ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² strings.xml .Π€Π°ΠΉΠ» strings.xml ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΠ΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ².ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ <resources>, ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ <string>, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΠΈΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΌΠ°ΠΊΠ΅ΡΠ° activity_main.xml. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ». ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ text Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ.
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄. Π‘Π»Π΅Π²Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π»Π°ΠΌΠΏΠΎΡΠΊΠ°.
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π»Π°ΠΌΠΏΠΎΡΠΊΡ. Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΌΠ΅Π½Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β« ΠΠ·Π²Π»Π΅ΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡΒ» .
- Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈΠΌΡ ΡΠ΅ΡΡΡΡΠ° ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠ΅ΡΡΡΡΠ° Π½Π° hello_world_text ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β« ΠΠΒ» .
- ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ» ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° android:text ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π½Π° @string/hello_world_text.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ°ΠΉΠ» strings.xml. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ hello_world_text.
- Π ΡΠ°ΠΉΠ»Π΅ strings.xml ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ° ΡΡΡΠΎΠΊΠΈ hello_world_text Π½Π° Hello Universe (ΠΈΠ»ΠΈ Π½Π° ΡΠ΅ΠΊΡΡ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ Π²ΡΠ±ΠΎΡΡ).
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ ΠΊ activity_main.xml. ΠΡ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° text ΠΎΡΡΠ°Π΅ΡΡΡ @string/hello_world_text .
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΊΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ ΠΈΡ
ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ» strings. xml Π²ΡΡΡΠ½ΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΡΠ΅ΠΊΡΡΠ° ΠΈ ΡΠΎΠ½Π° TextView- ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Β«ΠΡΠΎΠ΅ΠΊΡΒ» ΡΠ»Π΅Π²Π° Π² ΠΏΠ°ΠΏΠΊΠ΅ res/values ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² colors.xml.Π€Π°ΠΉΠ» colors.xml ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. Π Π½Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡΠΈ ΡΠ²Π΅ΡΠ°. ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΈΠ»Π΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅. /urok-1-kak-obnovlyat-vashi-prilozheniya-do-osobennostej-material-design/
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ ΠΊ Activity_main.xml Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ», ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ XML-ΠΊΠΎΠ΄ ΠΌΠ°ΠΊΠ΅ΡΠ°.
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π² TextView ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ android: background ΠΈ Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ @color .ΠΠΎΡΠ²ΠΈΡΡΡ ΠΌΠ΅Π½Ρ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ:
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ²Π΅Ρ @ colorPrimaryDark.
- ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ android: textColor ΠΈ Π΄Π°ΠΉΡΠ΅ Π΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ @android:color/white .Android Studio ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ²Π΅ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Π±Π΅Π»ΡΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π±Π΅Π»ΡΠΉ ΡΠ²Π΅Ρ.
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠΈΠ·Π°ΠΉΠ½Β» Π² Activity_main.xml. Π‘ΠΊΡΠΎΠΉΡΠ΅ ΠΏΠ°Π½Π΅Π»Ρ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β», Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π·Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π°Π΅Ρ Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ view.ΠΡ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ TextView ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΠΌΠ½ΠΎ-ΡΠΈΠ½ΠΈΠΉ ΡΠΎΠ½, Π° ΡΠ΅ΠΊΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π±Π΅Π»ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ.
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π² colors.xml, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΡΡΡ:
< color name = Β«screenBackgroundΒ» > #FFEE58 </color >
ΠΡΠΎΡ ΡΠ²Π΅Ρ ΠΆΠ΅Π»ΡΡΠΉ.
- ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠΈΠ·Π°ΠΉΠ½Β» Π² Activity_main.xml. Π Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ConstraintLayout.
- ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Background ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Enter .
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Β«cΒ» Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»Π΅.
- Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΌΠ΅Π½Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ²Π΅Ρ @color/screenBackground . ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β« Enter Β», ΡΡΠΎΠ±Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡ Π²ΡΠ±ΠΎΡ.
- ΠΠ²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΆΠ΅Π»ΡΡΠΉ Π·Π½Π°ΡΠΎΠΊ ΡΠ»Π΅Π²Π° ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ° Π² ΠΏΠΎΠ»Π΅ Background.ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Β«Π¦Π²Π΅ΡΠ°Β» Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ²Π΅ΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π΅ΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Android. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π²ΡΠ±ΠΎΡ ΡΠ²Π΅ΡΠ°.
- ΠΠ΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° screenBackground , Π½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ colorPrimary ΠΈ colorPrimaryDark.
ΠΡΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° ΡΠΊΡΠ°Π½Π°, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ view.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠΈΠ·Π°ΠΉΠ½Β» Π΄Π»Ρ Activity_main.xml. Π Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ConstraintLayout.
- ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΠΈΠ΄ ΡΠ²ΠΎΠΉΡΡΠ².
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π·Π½Π°ΡΠΎΠΊ Β« ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°Β», Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Layout_width ΠΈ layout_height ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² match_parent . ConstraintLayout ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅Ρ Β«ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎΒ» ΠΌΠ°ΠΊΠ΅ΡΠ° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΡΠΊΡΠ°Π½Π° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. ConstraintLayout Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡ ΠΆΠ΅ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ, ΡΡΠΎ ΠΈ ΡΠΊΡΠ°Π½.
Π‘ΠΎΠ²Π΅Ρ. ΠΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° layout_width ΠΈ layout_height .
- ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΠΈΠ·Π°ΠΉΠ½Β» ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Π΅ΡΡ ΡΠΎΠ½ ΡΠΊΡΠ°Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²Π΅Ρ ΡΠΊΡΠ°Π½Π° .
- Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ TextView ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ Π½Π° match_parent .TextView Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅Π³ΠΎ ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ConstraintLayout, ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½.
- ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° match_parent, Π° Π²ΡΡΠΎΡΠ° β wrap_content ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΠΈΠ½Ρ, ΡΠ°ΠΊ ΠΈ Π²ΡΡΠΎΡΡ TextView ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² wrap_content .
3. ΠΠΎΠ±Π°Π²ΠΈΠΌ views ΠΈ constraints (ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ)
Π ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΡΠ²ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π·Π΄Π΅ΡΡ.
Π§ΡΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅- ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ view Π² ΠΌΠ°ΠΊΠ΅Ρ.
- ΠΠ°ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ view.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ
- ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ» ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ TextView.ΠΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ TextView. ΠΡΠΎΡΡΠΈΡΠ΅ ΠΈΡ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²Π΅ΡΡ Π½ΡΡ, Π½ΠΈΠΆΠ½ΡΡ, Π»Π΅Π²ΡΡ ΠΈ ΠΏΡΠ°Π²ΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ²Π΅ΡΡ Ρ, ΡΠ½ΠΈΠ·Ρ, ΡΠ»Π΅Π²Π° ΠΈ ΡΠΏΡΠ°Π²Π° ΠΎΡ Π΄ΡΡΠ³ΠΈΡ view. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ view β ΡΡΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ConstraintLayout, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ TextView.
- ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΠΈΠ·Π°ΠΉΠ½Β» Π²ΡΠ±Π΅ΡΠΈΡΠ΅ TextView Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Inspector Constraint Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β».ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΠΈΠ½ΠΈΡ
ΡΠΎΡΠ΅ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ constrain β ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅.
- ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ΅ΡΡΠ΅ΠΆΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ view. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π½Π°Π΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ view Π΄ΡΡΠ³ ΠΊ Π΄ΡΡΠ³Ρ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΌΠ°ΠΊΠ΅Ρ.
- ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Π»ΠΈΡΡΡ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΈΠ΄Π΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΏΠ°Π»ΠΈΡΡΠ΅.
- ΠΡΠΎΠΊΡΡΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΡΡ, ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ Π΅Π΅ Π½Π° ΠΌΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ² Π΅Π΅ ΠΏΠΎΠ΄ TextView.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ββΠ² Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΠΎΠ΄ ConstraintLayout.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡΠ’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΠ΅ Π²Π΅ΡΡ
Π½ΡΡ ΡΠ°ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ TextView.
- ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ ΠΏΠΎ ΠΊΡΡΠ³Ρ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
- ΠΠ΅ΡΠ΅ΡΡΠ½ΠΈΡΠ΅ ΠΊΡΡΠ³ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΊΡΡΠ³ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ TextView.ΠΠ½ΠΎΠΏΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²Π²Π΅ΡΡ , ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡΡΡ ΡΡΡΡ Π½ΠΈΠΆΠ΅ TextView. ΠΠ΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΡΡ TextView.
- ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β». ΠΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
- ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ» ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ XML Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π°ΡΡΠΈΠ±ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ TextView, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΡ Π½ΠΈΠΉ ΠΎΡΡΡΡΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Π² ΠΌΠ°ΠΊΠ΅Ρ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π΅ ΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ. (ΠΠ΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠ»Π΅ΡΠΈΡ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅)
- ΠΠ³ΡΠ°ΠΉΡΠ΅ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡΠΌΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π²ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅:
- Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Β«ΠΠΈΠ·Π°ΠΉΠ½Β» ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ ΠΏΠΎ ΠΊΡΡΠ³Ρ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠΊΠ° ΠΊΡΡΠ³ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΊΡΠ°ΡΠ½ΡΠΌ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ Π½Π΅ΠΌΡ.
- ΠΠ»ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ ΠΏΠΎ ΠΊΡΡΠ³Ρ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ x, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ Π½Π΅ΠΌΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π΅Π³ΠΎ Π²Π΅ΡΠ½ΡΡΡ, ΠΎΡΠΌΠ΅Π½ΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅.
- ΠΠΎΠ³Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΈΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ. ΠΠ΅Π²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ»Π΅Π²Π°, Π° ΠΏΡΠ°Π²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° β ΡΠΏΡΠ°Π²Π° Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΎΠ±Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ TextView ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΡΡ ΡΠΊΡΠ°Π½Π° (ΡΠΌ. Π ΠΈΡΡΠ½ΠΎΠΊ Π½ΠΈΠΆΠ΅).Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΠ±Π»ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ:
- Π²Π΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ TextView.
- Π½ΠΈΠΆΠ½ΡΡ ΡΠ°ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΡΠΊΡΠ°Π½Π°.
- Π»Π΅Π²Π°Ρ ΡΠ°ΡΡΡ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π»Π΅Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΡΠΊΡΠ°Π½Π°.
- ΠΏΡΠ°Π²Π°Ρ ΡΠ°ΡΡΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΡΠ°Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΡΠΊΡΠ°Π½Π°.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ.
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ.
- Π‘Π΄Π²ΠΈΠ½ΡΡΠ΅ Π»Π΅Π²ΡΡ ΠΈ ΠΏΡΠ°Π²ΡΡ ΡΡΠΎΡΠΎΠ½Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
- ΠΠ³ΡΠ°Π½ΠΈΡΡΡΠ΅ Π²Π΅ΡΡ Π½ΡΡ ΠΈ Π½ΠΈΠΆΠ½ΡΡ ΡΠ°ΡΡΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²Π΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ TextView. ΠΠΈΠ· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΡΠΊΡΠ°Π½Π°.
- ΠΠ·ΡΡΠΈΡΠ΅ XML-ΠΊΠΎΠ΄ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ». Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ: app:layout_constraintVertical_bias
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Β«ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΌΠ΅ΡΡΠΈΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ view Π½Π° Π±ΠΎΠ»ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΌ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π΅ΡΡ Π½ΡΡ ΠΈ Π½ΠΈΠΆΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ view ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΠΏΠΎ Π²Π΅ΡΡ Ρ ΠΈ Π½ΠΈΠ·Ρ ΡΠΊΡΠ°Π½Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ view Π±Π»ΠΈΠΆΠ΅ ΠΊ Π²Π΅ΡΡ Π½Π΅ΠΉ, ΡΠ΅ΠΌ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°. - ΠΠΎΠ΄ XML Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π° Π΄Π²ΡΡ
Π΄ΡΡΠ³ΠΈΡ
ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² ΡΠ°ΠΉΠ»Π΅ XML. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² ΡΠ°ΠΉΠ»Π΅ XML ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅.
ΠΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΌΠ°ΠΊΠ΅ΡΠ°, Π½ΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ» Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΠΈΠ·Π°ΠΉΠ½Β».
ΠΠΎΡ ΠΊΠΎΠ΄ XML Π΄Π»Ρ ΠΌΠ°ΠΊΠ΅ΡΠ°. Π Π²Π°ΡΠ΅ΠΌ ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Ρ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΈΠ»ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ. Π’ΠΎΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π²ΠΈΠ΄Π° TextView ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Ρ Π²Π°Ρ.
<?xml version=Β»1.0β³ encoding=Β»utf-8β³?>
<android.support.constraint.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=Β»match_parentΒ»
android:background=Β»@color/screenBackgroundΒ»
tools:context=Β»com.example.android.myfirstapp.MainActivityΒ»>
<TextView
android:id=Β»@+id/textViewΒ»
android:layout_width=Β»wrap_contentΒ»
android:layout_height=Β»wrap_contentΒ»
android:background=Β»@color/colorPrimaryDarkΒ»
android:fontFamily=Β»sans-serifΒ»
android:text=Β»@string/hello_world_textΒ»
android:textAlignment=Β»centerΒ»
android:textColor=Β»@android:color/whiteΒ»
android:textSize=Β»30spΒ»
android:textStyle=Β»boldΒ»
app:layout_constraintBottom_toBottomOf=Β»parentΒ»
app:layout_constraintLeft_toLeftOf=Β»parentΒ»
app:layout_constraintRight_toRightOf=Β»parentΒ»
app:layout_constraintTop_toTopOf=Β»parentΒ»
/>
<Button
android:id=Β»@+id/buttonΒ»
android:layout_width=Β»wrap_contentΒ»
android:layout_height=Β»wrap_contentΒ»
android:text=Β»ButtonΒ»
android:layout_marginLeft=Β»8dpΒ»
app:layout_constraintLeft_toLeftOf=Β»parentΒ»
app:layout_constraintBottom_toBottomOf=Β»parentΒ»
android:layout_marginBottom=Β»8dpΒ»
android:layout_marginTop=Β»8dpΒ»
app:layout_constraintTop_toBottomOf=Β»@+id/textViewΒ» />
<Button
android:id=Β»@+id/button3β³
android:layout_width=Β»wrap_contentΒ»
android:layout_height=Β»wrap_contentΒ»
android:text=Β»ButtonΒ»
app:layout_constraintBottom_toBottomOf=Β»parentΒ»
android:layout_marginBottom=Β»8dpΒ»
android:layout_marginTop=Β»8dpΒ»
app:layout_constraintTop_toBottomOf=Β»@+id/textViewΒ»
app:layout_constraintRight_toLeftOf=Β»@+id/button2β³
android:layout_marginRight=Β»8dpΒ»
app:layout_constraintLeft_toRightOf=Β»@+id/buttonΒ»
android:layout_marginLeft=Β»8dpΒ» />
<Button
android:id=Β»@+id/button2β³
android:layout_width=Β»wrap_contentΒ»
android:layout_height=Β»wrap_contentΒ»
android:text=Β»ButtonΒ»
android:layout_marginRight=Β»8dpΒ»
app:layout_constraintRight_toRightOf=Β»parentΒ»
app:layout_constraintBottom_toBottomOf=Β»parentΒ»
android:layout_marginBottom=Β»8dpΒ»
android:layout_marginTop=Β»8dpΒ»
app:layout_constraintTop_toBottomOf=Β»@+id/textViewΒ» />
</android. support.constraint.ConstraintLayout>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
<?xml version=Β»1.0β³ encoding=Β»utf-8β³?> <android.support.constraint.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=Β»match_parentΒ» android:background=Β»@color/screenBackgroundΒ» tools:context=Β»com.
<TextView android:id=Β»@+id/textViewΒ» android:layout_width=Β»wrap_contentΒ» android:layout_height=Β»wrap_contentΒ» android:background=Β»@color/colorPrimaryDarkΒ» android:fontFamily=Β»sans-serifΒ» android:text=Β»@string/hello_world_textΒ» android:textAlignment=Β»centerΒ» android:textColor=Β»@android:color/whiteΒ» android:textSize=Β»30spΒ» android:textStyle=Β»boldΒ» app:layout_constraintBottom_toBottomOf=Β»parentΒ» app:layout_constraintLeft_toLeftOf=Β»parentΒ» app:layout_constraintRight_toRightOf=Β»parentΒ» app:layout_constraintTop_toTopOf=Β»parentΒ» />
<Button android:id=Β»@+id/buttonΒ» android:layout_width=Β»wrap_contentΒ» android:layout_height=Β»wrap_contentΒ» android:text=Β»ButtonΒ» android:layout_marginLeft=Β»8dpΒ» app:layout_constraintLeft_toLeftOf=Β»parentΒ» app:layout_constraintBottom_toBottomOf=Β»parentΒ» android:layout_marginBottom=Β»8dpΒ» android:layout_marginTop=Β»8dpΒ» app:layout_constraintTop_toBottomOf=Β»@+id/textViewΒ» />
<Button android:id=Β»@+id/button3β³ android:layout_width=Β»wrap_contentΒ» android:layout_height=Β»wrap_contentΒ» android:text=Β»ButtonΒ» app:layout_constraintBottom_toBottomOf=Β»parentΒ» android:layout_marginBottom=Β»8dpΒ» android:layout_marginTop=Β»8dpΒ» app:layout_constraintTop_toBottomOf=Β»@+id/textViewΒ» app:layout_constraintRight_toLeftOf=Β»@+id/button2β³ android:layout_marginRight=Β»8dpΒ» app:layout_constraintLeft_toRightOf=Β»@+id/buttonΒ» android:layout_marginLeft=Β»8dpΒ» />
<Button android:id=Β»@+id/button2β³ android:layout_width=Β»wrap_contentΒ» android:layout_height=Β»wrap_contentΒ» android:text=Β»ButtonΒ» android:layout_marginRight=Β»8dpΒ» app:layout_constraintRight_toRightOf=Β»parentΒ» app:layout_constraintBottom_toBottomOf=Β»parentΒ» android:layout_marginBottom=Β»8dpΒ» android:layout_marginTop=Β»8dpΒ» app:layout_constraintTop_toBottomOf=Β»@+id/textViewΒ» />
</android. |
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ° β Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΡΠΈΡΡΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
- ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡ TextView, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ 0 (Π½ΠΎΠ»Ρ).
- ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡ ΠΈ id ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ XML-ΠΊΠΎΠ΄ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’Π΅ΠΊΡΡΒ» ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β» Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡ ΠΈ, id ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΠΠ½ΠΎΠΏΠΊΠ° | Π’Π΅ΠΊΡΡ | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ |
ΠΠ΅Π²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° | Toast | @+id/toast_button |
Π‘ΡΠ΅Π΄Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° | Count | @+id/count_button |
ΠΡΠ°Π²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° | Random | @+id/random_button |
ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ XML Π΄Π»Ρ ΠΌΠ°ΠΊΠ΅ΡΠ°, ΠΊΠΎΠ΄ XML Π΄Π»Ρ ΡΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Count , ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠ°ΠΊΠ΅Ρ ΠΈΡΠΏΠΎΡΡΠ΅Π½ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΠΈΠ·Π°ΠΉΠ½Β».
ΠΡΠΈΠ±ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ»Π΅Π²Π° ΠΈ ΡΠΏΡΠ°Π²Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈΡ
id.
- ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΡ , ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² id ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ , ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡΡ ΠΊΡΠ°ΡΠ½ΡΠΌ.
app:layout_constraintRight_toLeftOf=Β»@+id/toast_buttonΒ» app:layout_constraintLeft_toRightOf=Β»@+id/random_buttonΒ»
app:layout_constraintRight_toLeftOf=Β»@+id/toast_buttonΒ» app:layout_constraintLeft_toRightOf=Β»@+id/random_buttonΒ» |
ΠΠ°ΠΊΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½, Π½ΠΎ Π΅Π³ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ.
ΠΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ
- Π ΡΠ°ΠΉΠ»Π΅ colors.xml ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ screenBackground Π½Π° #2196F3, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠ½ΠΈΠΌ ΠΎΡΡΠ΅Π½ΠΊΠΎΠΌ Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ Material Design .
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ²Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«buttonBackgroundΒ».
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ #BBDEFB, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΡΠ»ΡΠΌ ΠΎΡΡΠ΅Π½ΠΊΠΎΠΌ Π² ΡΠΈΠ½Π΅ΠΉ ΠΏΠ°Π»ΠΈΡΡΠ΅.
<color name=Β»buttonBackgroundΒ»>#BBDEFB</color>
<color name=Β»buttonBackgroundΒ»>#BBDEFB</color> |
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ
- Π ΠΌΠ°ΠΊΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ. (ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ XML ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°Π½Π΅Π»Ρ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β», Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅.)
android:background=Β»@color/buttonBackgroundΒ»
android:background=Β»@color/buttonBackgroundΒ» |
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Π»Π΅Π²ΠΎΠΉ ΠΈ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΎΠΊ
- ΠΠ°ΠΉΡΠ΅ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π»Π΅Π²ΡΠΉ ΠΊΡΠ°ΠΉ 24dp ΠΈ Π΄Π°ΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΏΡΠ°Π²ΡΠΉ ΠΊΡΠ°ΠΉ 24dp.
android:layout_marginLeft=Β»24dpΒ»android:layout_marginRight=Β»24dpΒ»
android:layout_marginLeft=Β»24dpΒ»android:layout_marginRight=Β»24dpΒ» |
ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ TextView
- Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΠΎΠ½ΠΎΠ²ΡΠΉ ΡΠ²Π΅Ρ TextView, Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β», Π»ΠΈΠ±ΠΎ ΡΠ΄Π°Π»ΠΈΠ² Π°ΡΡΠΈΠ±ΡΡ android:background ΠΈΠ· ΠΊΠΎΠ΄Π° XML.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, ΡΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½Π΅Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ.
- Π£Π²Π΅Π»ΠΈΡΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ° TextView Π΄ΠΎ 72sp.
- ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠΈΡΡΠΎΠ² TextView Π½Π° sans-serif .
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ app:layout_constraintVertical_bias Π² TextView, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ. (ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠΈΠ·Π°ΠΉΠ½Β», ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΌΠ°ΠΊΠ΅Ρ).
app:layout_constraintVertical_bias=Β»0.3β³
app:layout_constraintVertical_bias=Β»0.3β³ |
ΠΠ΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ dp ΠΈ sp β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΊΡΠ°Π½Π½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅ΠΊΡΡΠ° Π² Android Studio. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΡΠ°Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π°Ρ
ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².
Π‘ΠΎΠ²Π΅Ρ . ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΠΏΠΎΠ² ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠΌΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ ΡΠΊΡΠ°Π½Π° ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡΡ .
- ΠΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΠΊΠ°ΠΊ Π½Π° Π²Π΅ΡΡ Π½Π΅ΠΌ, ΡΠ°ΠΊ ΠΈ Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΊΡΠ°ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
- ΠΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΠΊΠ°ΠΊ Π½Π° Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΏΡΠ°Π²ΠΎΠΌ ΠΊΡΠ°ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ Π²Π½Π΅ΡΠ΅ΡΠ΅ Π²ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΡΠ²Π΅ΡΠ° ΠΈ ΡΡΠΈΡΡΡ, Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π°ΡΠ΅.
ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° Π³Π»Π°Π²Π½ΡΠΉ ΡΠΊΡΠ°Π½ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π΅ ΡΠ΅Π°Π³ΠΈΡΡΡΡ Π½Π° Π½Π°ΠΆΠ°ΡΠΈΡ. ΠΡ ΠΈΡΠΏΡΠ°Π²ΠΈΠΌ ΡΡΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅. ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΌΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ Π² Π°ΡΡ ΠΈΠ²Π΅
ΠΠΎ Π²ΡΡΡΠ΅ΡΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅, Π²ΡΠ΅ΠΌ Π΄ΠΎΠ±ΡΠ°.
Π£ΡΠΎΠΊ 4. Kotlin. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ view Π² android
java β ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ± ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π»Π° Π½Π° Π½Π°ΠΆΠ°ΡΠΈΡ?
Π― Π·Π½Π°Ρ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ selector
ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΌ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ Π½Π°ΠΆΠ°ΡΠΈΡ. ΠΠΎ Π²Π΅Π΄Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ΅ΠΉΡΠ°Ρ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅. ΠΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΎΠ·Π΄Π°Ρ ΠΏΡΠΎΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΡ Π² ΠΏΡΡΡΠΎΠΌ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Ρ Π½Π° Π½Π΅Π΅, ΡΠΎ ΠΎΠ½Π° ΠΊΡΠ°ΡΠΈΠ²ΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ»Π½Ρ ΠΎΡ ΡΠΎΡΠΊΠΈ ΠΊΠ°ΡΠ°Π½ΠΈΡ ΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΡΠ²ΠΎΠΉ
android:background="@drawable/stylecapturebutton"
android:src="@drawable/photocamera"
ΡΠΎ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡβ¦
ΠΠΎΡ ΠΊΠΎΠ΄ ΠΌΠΎΠ΅ΠΉ ImageButton
:
<ImageButton
android:id="@+id/bPicture"
android:onClick="bPicture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/stylecapturebutton"
android:src="@drawable/photocamera"
android:padding = "10dp" />
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΊΠ°ΠΊ ΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² ΠΊΠ½ΠΎΠΏΠΊΡ Π±Π΅ΠΊΠ³ΡΠ°ΡΠ½Π΄ ΠΈ ΡΠ΅ΡΡΡΡ, ΡΡΠΎΠ± ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π½Π°ΠΆΠ°ΡΠΈΡ?
ΠΠΎΡ ΡΠ°ΠΊΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ
<?xml version="1.
0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<!--<solid android:color="@color/myColor" />-->
<stroke
android:width="1dp"
android:color="@color/color_white" />
<size
android:width="18dp"
android:height="18dp" />
</shape>
</item>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/button"
android:state_focused="true"
android:state_pressed="false" />
<item
android:drawable="@drawable/button"
android:state_focused="true"
android:state_pressed="true" />
<item
android:drawable="@drawable/button_pressed"
android:state_focused="false"
android:state_pressed="true" />
<item android:drawable="@drawable/button" />
</selector>
</layer-list>
ΠΡΡΡΠΈΠ΅ WordPress ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ.

HTML / CSS β ΡΡΠΎ Π½Π΅ ΡΠ΅ ΡΠ·ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ WordPress. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΠΌ, ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². Π₯ΠΎΡΡ Π²Ρ, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π΄Π΅Π»Π°ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ ΡΡΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΄Π»Ρ ΠΏΡΠΈΠ·ΡΠ²ΠΎΠ² ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΏΠΎ ΡΠ΅Π»Π΅Π²ΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ².
WordPress ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΡΠ΅Π»Π΅Π²ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΏΡΠΈΠ·ΡΠ²Π°Ρ ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ? ΠΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ WordPress Π΄Π»Ρ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, Π·Π°ΡΠ΅ΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ WordPress Π΄Π»Ρ ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ?
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ. ΠΠ½ΠΈ ΡΠ»Π΅Π΄ΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΡΡΡΠ»ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π΄Π²Π΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ. ΠΠ½ΠΎΠΏΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΡΡΠΈ ΡΠΈΠΏΠ° ΠΏΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
- Π‘ΡΡΠ»ΠΊΠΈ : ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ»ΠΎΠΊ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ.
- ΠΠ±ΠΌΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ : ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΒ» Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π΄Π΅Π»ΠΈΡΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ.
- CTA : ΠΡΠΈΠ·ΡΠ² ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (CTA) β ΡΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΎΠ»ΡΡΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ: Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ ΡΠ΅Π±Π΅ Π½ΡΠΆΠ½Ρ?
ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ?
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π»ΠΈΡΡΠ΅Π»ΡΠ½ΡΡ
Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½ ΡΠ°ΠΉΡΠ°. Π’ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ
ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½ ΠΈ ΠΏΡΠΎΡΡ Π² Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π²Π°Ρ ΡΠ°ΠΉΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΡΠΎΠ²Π½ΡΡ
, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π°Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΠΈ. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΡΠ±Π΅Π΄ΡΡ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ Π΄Π°ΡΡ Π²Π°ΠΌ ΡΠ²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ ΠΈΠ»ΠΈ ΠΊΡΠΏΠΈΡΡ Π²Π°Ρ ΠΏΡΠΎΠ΄ΡΠΊΡ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ΄Π°Π΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΡΠΎ-ΡΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ΄Π°Π΅ΡΠ΅.
ΠΡ ΠΏΡΠΎΠ΄Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄. Π₯ΠΎΡΡ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π·Π½Π°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ, ΠΎΠ½ΠΈ ΡΡΠ΄ΡΡ ΠΎ Π²Π°ΡΠ΅ΠΌ Π±ΡΠ΅Π½Π΄Π΅ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ ΡΠ°ΠΉΡΠ°. ΠΠ½ΠΎΠΏΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΡΠ°ΡΠΈΠ²ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°. ΠΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Ρ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅ΠΌΠ΅ Π²Π°ΡΠ΅Π³ΠΎ Π±Π»ΠΎΠ³Π°, ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΊΠ»ΠΎΠ½Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ .
ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΡΠΌΠΈ ΠΈ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΠ΅ΠΉ Π½Π° ΡΠ΅Π»Π΅Π²ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ . ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ , Ρ ΡΠΊΠΎΡΠΎ Π½Π°ΠΏΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΡ ΠΎ Landing Page.
Π‘ΠΏΠΎΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² WordPress
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² WordPress:
- ΠΠΎΠ΄ : Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ HTML ΠΈ CSS Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ ΡΡΠΈ ΡΠ·ΡΠΊΠΈ.
- ΠΠ»Π°Π³ΠΈΠ½Ρ : ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ WordPress Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±.
ΠΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² WordPress
ΠΠ»Π°Π³ΠΈΠ½ ΠΊΠ½ΠΎΠΏΠΊΠΈ WordPress MaxButtons
ΠΠ»Π°Π³ΠΈΠ½ WordPress Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ MaxButtons β ΡΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ WordPress, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ ΠΈ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ CSS3 Π² Π²Π°ΡΠΈΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ
ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 70 000 Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ WordPress.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΠ±ΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° : ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ. Π¦Π²Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ°, ΡΠ°Π΄ΠΈΡΡ ΡΠ°ΠΌΠΊΠΈ, ΡΡΠΈΠ»Ρ ΡΠ°ΠΌΠΊΠΈ ΠΈ Π΄ΡΠΆΠΈΠ½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΡΡΠΈΠ»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ.
- ΠΡΠ·ΡΠ²ΡΠΈΠ²ΠΎΡΡΡ : ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π°, Ρ ΠΎΡΠΎΡΠΎ ΡΠΌΠΎΡΡΡΡΡΡ ΠΊΠ°ΠΊ Π½Π° Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΠ, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΏΠΎΡΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ .
- ΠΠ½ΠΎΠΏΠΊΠΈ Π² ΡΡΠΈΠ»Π΅ Π·Π½Π°ΡΠΊΠΎΠ² : ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π·Π½Π°ΡΠΊΠΈ ΠΊ ΡΠ²ΠΎΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΠΎΠ»Π΅Π΅ 35 000 ΠΈΠΊΠΎΠ½ΠΎΠΊ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π² ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Google Fonts . ΠΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΡΡΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Google Fonts.
- ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ : Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ
ΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅ΠΌΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΎΠΈΡ 19 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ².
ΠΠ½ΠΎΠΏΠΊΠΈ ΡΠΎΡΡΠΊΠΎΠ΄ ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ
ΠΠ½ΠΎΠΏΠΊΠΈ Shortcode ΠΈ Widget β Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΠ΅ΠΉ. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΠ±ΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° : ΡΠ΅ΠΊΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π·Π½Π°ΡΠΎΠΊ, ΡΠΎΡΠΌΠ°, ΡΠ²Π΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ²Π΅Ρ ΡΠ°ΠΌΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ. ΠΠΈΠ²ΠΎΠΉ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ°ΠΌ ΡΠΎΠΆΠ΅.
- ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ : ΡΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π½Π°ΡΡ CSS ΠΈ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅Π·Π΄Π΅ : ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ , ΡΡΡΠ°Π½ΠΈΡΠ°Ρ , Π±ΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ°Π½Π΅Π»ΡΡ ΠΈ Π΄Π°ΠΆΠ΅ Π² ΡΠ°ΠΉΠ»Π°Ρ ΡΠ΅ΠΌ. Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ Π»Π°Π³ΠΈΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π³Π΄Π΅ ΡΠ³ΠΎΠ΄Π½ΠΎ.
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈ . ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ CSS, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
ΡΡΠΈΠ»Π΅ΠΉ. ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ CSS Π΄Π»Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ.
ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ΅ΠΌΠΈΡΠΌ-Π²Π΅ΡΡΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΊΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ»Π°Π³ΠΈΠ½ Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΠ½ΠΎΠΏΠΎΠΊ
Button Maker Plugin β Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΡΠΎΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² WordPress. Π₯ΠΎΡΡ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π±Π°Π·Ρ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 1000+ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ : Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠΉΡΠ΅ ΠΈΡ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡ ΡΠ²Π΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ°, ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ Ρ.Π΄. ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ.
- Π£Π·Π½Π°ΠΉΡΠ΅, ΡΡΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΡΠ΅ : ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠΊΠ°Π·Ρ ΠΈ ΠΊΠ»ΠΈΠΊΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΡΡΠΎΠ±Ρ Π²Ρ Π·Π½Π°Π»ΠΈ, ΡΡΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ.
- ΠΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ : ΡΡΠΎΠ±Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π΅Π³ΠΎ ΠΏΡΠ΅ΠΌΠΈΡΠΌ-Π²Π΅ΡΡΠΈΡ. Π Button Maker Pro Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π² ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΡΠΎΡΡΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ Π΄Π»Ρ WordPress
Easy Social Share Buttons Π΄Π»Ρ WordPress β ΡΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΠ΅ΡΠ΅ΠΉ. ΠΡΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅, ΠΎΠ½ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π‘ΠΊΠΎΡΠ΅Π΅, ΠΎΠ½ ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π°.
- ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ: ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 45 ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠΌΠΈ, ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 48 ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π°.
- Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° . ΠΠ»Π°Π³ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠΈ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ . Π ΠΎΠ±ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ 123 ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ°.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½Π° : ΡΠ°ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
- Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ : ΠΠ»Π°Π³ΠΈΠ½ Ρ
ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ BuddyPress, WooCommerce, bbPress ΠΈ Easy Digital Downloads.
Button Pro β CSS3 ΠΊΠ½ΠΎΠΏΠΊΠΈ
Button Pro β ΠΊΠ½ΠΎΠΏΠΊΠΈ CSS3 β ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ CodeCanyon, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ. ΠΠ½ ΡΡΠΎΠΈΡ Π²ΡΠ΅Π³ΠΎ 4 Π΄ΠΎΠ»Π»Π°ΡΠ° ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 1100 ΠΏΡΠΎΠ΄Π°ΠΆ. ΠΠ»Π°Π³ΠΈΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π±ΠΎΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ CSS3 ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠΎ ΡΡΠΎ Π½Π΅ ΠΏΠ»Π°Π³ΠΈΠ½ WP. Π₯ΠΎΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ΡΡ Π² CSS.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΠ±ΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° : Π½Π° Π²ΡΠ±ΠΎΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ 3 ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ 11 Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ²Π΅ΡΠ°. ΠΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»Π°ΡΡ CSS, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½.
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π»ΡΡΡΠ΅.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ . ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
- ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ : ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠΎ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΡ Π²Π΅ΡΡΠΈΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΡΠ²ΠΎΠ΄
ΠΠ½ΠΎΠΏΠΊΠΈ β ΡΡΠΎ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π²Π΅Π»ΠΈΠΊΠΎ. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΊΠ½ΠΎΠΏΠΊΠΈ WordPress.
ΠΠ°ΠΊΠΎΠΉ ΡΠ²ΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ WordPress ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°? ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ .
ΠΡΡΠΎΡΠ½ΠΈΠΊ Π·Π°ΠΏΠΈΡΠΈ: https://wplift.com
ΠΠΎΡΡΡΡΠ°ΡΡΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π½Π° ΡΠ°ΠΉΡΠ°Ρ . ΠΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΠ²Π»Π΅ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΉΡ Π½Π° ΡΠΎΠ½Π΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ . ΠΡΠ²Π°Π΅Ρ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ Π΄Π΅ΡΠ°Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎ Π±ΡΠ΄Π΅ΡΡ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΈ Π΄ΡΠΌΠ°ΡΡ ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΎΠ½ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½. Π ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½Π΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΠ°Ρ ΠΆΠ΄Π΅Ρ Π½Π°Π±ΠΎΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ CSS Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ β ΡΡΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ.
ΠΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½ΠΈΠΆΠ΅:
Π‘ΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ‘ΠΊΠ°ΡΠ°ΡΡ
Π’Π°ΠΊΠΆΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ:
HTML
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π³Π°ΠΌΠΈ <head> </head> ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈΠ»ΠΈ (normalize. css, Font Awesome, demo.css, component.css):
HTML ΠΠΠ
1 2 3 4 | <link rel="stylesheet" type="text/css" href="css/normalize.css" /> <link rel="stylesheet" type="text/css" href="fonts/font-awesome-4.3.0/css/font-awesome.min.css" /> <link rel="stylesheet" type="text/css" href="css/demo.css" /> <link rel="stylesheet" type="text/css" href="css/component.css" /> |
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡ BORIS. ΠΠ°ΡΠ½Π΅ΠΌ ΡΠΎ HTML ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ:
HTML ΠΠΠ
1 2 3 4 | <button> <i></i> <span>Backward</span> </button> |
ΠΠ±ΡΡΠ½ΡΠΉ ΡΠ΅Π³ ΠΊΠ½ΠΎΠΏΠΊΠΈ <button> <button> Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΠ°.
CSS
Π₯ΠΎΡΡ ΠΌΡ ΡΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΡΠΈΠ»Π΅ΠΉ component. css, Ρ Π²ΡΡ ΠΆΠ΅ Ρ
ΠΎΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.
Π Π½Π°ΡΠ°Π»Π΅ ΠΈΠ΄Π΅Ρ ΠΎΠ±ΡΠΈΠ΅ ΡΡΠΈΠ»ΠΈ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π΄Π΅ΠΌΠΎ:
CSS ΠΠΠ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | .cbutton { position: relative; display: inline-block; margin: 1em; padding: 0; border: none; background: none; color: #286aab; font-size: 1.4em; overflow: visible; -webkit-transition: color 0.7s; transition: color 0.7s; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .cbutton.cbutton--click, .cbutton:focus { outline: none; color: #3c8ddc; } .cbutton__icon { display: block; } .cbutton__text { position: absolute; opacity: 0; pointer-events: none; } .cbutton::after { position: absolute; top: 50%; left: 50%; margin: -35px 0 0 -35px; width: 70px; height: 70px; border-radius: 50%; content: ''; opacity: 0; pointer-events: none; } . |
Π ΡΠ΅ΠΉΡΠ°Ρ Ρ ΠΏΡΠΈΠ²ΠΎΠΆΡ ΡΡΠΈΠ»ΠΈ ΡΠΆΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
CSS ΠΠΠ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | .cbutton--effect-boris::after { background: rgba(111,148,182,0.1); } .cbutton--effect-boris.cbutton--click::after { -webkit-animation: anim-effect-boris 0. |
ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ Β«ΡΠ°Π·Π²ΠΎΠ΄ΠΎΠ²Β» ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΊΠ°Π΄ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² CSS3.
Javascript
ΠΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π²ΡΡ. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΠΈΠΊΠ°. Π’ΠΎ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ ΡΡΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ°. ΠΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ β Ρ ΠΏΠΎΠΌΠΎΡΡΡ jQuery.
Π‘ΠΏΠ΅ΡΠ²Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ(modernizr.custom.js ΠΈ classie.js):
HTML&JS ΠΠΠ
1 2 | <script src="js/modernizr.custom.js"></script> <script src="js/classie.js"></script> |
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΏΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Π½Π΅Π΅:
HTML&JS ΠΠΠ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | (function() { function mobilecheck() { var check = false; (function(a){if(/(android|ipad|playbook|silk|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\. |
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΡΠ΅ΠΊΡΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ .
Π£ΡΠΏΠ΅Ρ ΠΎΠ²!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: ΠΡΠΈΠ³ΠΈΠ½Π°Π»
Π‘ Π£Π²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΡΡΠΊΠΈΠ½ ΠΠΎΠ½ΡΡΠ°Π½ΡΠΈΠ½
30 ΡΠΈΠΊΠ°ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ Android ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΈ
ΠΠΈΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ
Π΄Π΅Π»Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠΉ, Π° ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ. Π‘ ΡΠ΅ΠΌ-ΡΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΌΡ Π΄Π°Π²Π½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ, ΠΎ ΡΠ΅ΠΌ-ΡΠΎ ΡΠ»ΡΡΠ°Π»ΠΈ, Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ β ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΈΠΌ Π½Π°ΡΠ°ΡΡ π ΠΠ°Π΄Π΅Π΅ΠΌΡΡ, Π΄Π»Ρ Π²Π°Ρ ΡΡΠ° ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ° ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, ΠΊΠ°ΠΊ Π΄Π»Ρ Π½Π°Ρ.
FlowUp
ΠΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ FPS (frames per second β ΠΊΠ°Π΄ΡΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ), ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠΊΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΠΆΠ΅ Π²ΡΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
UPD ΠΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π° ΡΠ΅Π²ΡΠ°Π»Ρ 2019 Π³ΠΎΠ΄Π° ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½.
Stetho
ΠΠΎΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Facebook. ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ Π½Π°ΡΠΈΠ²Π½ΡΡ
Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ, ΠΊΠ°ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Chrome Developer Tools, ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡ View, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
SQLite, ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΅.
JRebel Π΄Π»Ρ Android
ΠΡΠ΅ ΠΌΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ, Π³Π»ΡΠ΄Ρ Π½Π° ΡΠΊΡΠ°Π½, ΠΊΠ°ΠΊ Π΄ΡΡΠ°ΠΊΠΈ, Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅, ΡΡΠΎ ΡΠΏΡΡΡΡ Π²Π΅ΡΠ½ΠΎΡΡΡ Gradle Π²ΡΠ΅ ΠΆΠ΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎ ΡΡΠΎΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡ JRebel ΡΠΏΠ°ΡΠ°Π΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Ρ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Gradle Please
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Gradle Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ Π² Android Studio, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π»ΡΠ±ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΊΠΎΠ΄Π°. ΠΠΎ ΠΊΠ°ΠΊ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡ ΡΡΡΠΎΠΊΡ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ? ΠΠΎΡ Π·Π΄Π΅ΡΡ-ΡΠΎ ΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΡΡΠΎΡ ΠΌΠΈΠ»ΡΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ.
Android Asset Studio
ΠΠ°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΡΠΎΡΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΈΠΊΠΎΠ½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π²Π°ΠΌ ΠΏΡΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
LeakCanary
ΠΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Square. Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ, ΠΏΡΠΈΡΡΠ»Π°Ρ Π²Π°ΠΌ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ ΠΏΠΎΠ»Π½ΡΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΠΊΠ°.
DryRun
ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π»ΡΠ±ΡΡ Android-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½, Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π·ΠΎ Π²ΡΡΠΊΠΎΠ³ΠΎ ΡΡΡΠ΄Π°.
Slides Code Highlighter
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ, ΡΡΠ°ΡΡΠ²ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ ΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½ΡΠΉ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡ Π²Π°ΡΠΈ ΡΠΊΡΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π° Π²ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°Π±Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Ρ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
InstaBug
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π΄Π΅Π»ΠΈΡΡΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ°ΠΌΠΈ, Π²ΠΈΠ΄Π΅ΠΎ- ΠΈ Π°ΡΠ΄ΠΈΠΎΠ·Π°ΠΏΠΈΡΡΠΌΠΈ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌΠΈ Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄ΡΡΠ³ΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ Π±ΡΡΡΡΠ΅Π΅ Π½Π°ΠΉΡΠΈ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π±Π°Π³ΠΈ.
Takt
ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ FPS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡΠ΅Π³Π΄Π° Π»ΡΡΡΠ΅ ΠΎΡΠ»ΠΎΠ²ΠΈΡΡ Π±Π°Π³ΠΈ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π»Π°Π³ΠΈ Π½Π° ΡΠ°Π·Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠ°Π½Ρ ΠΈΡΠΏΡΡΠ°ΡΡ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΎΠΏΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ΅ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½.
Android Debug Database
ΠΡΠ»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΌΠ΅Π½ΡΡΡΠΈΠΉ Π²Π°Ρ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±ΡΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Android. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ , ΡΠ΄Π°Π»ΡΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ SQL-Π·Π°ΠΏΡΠΎΡΡ Π² ΡΠΈΡΡΠΎΠΌ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅.
Source Tree
ΠΡΠΎΡΡΠΎΠΉ, ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ Git Π΅Π³ΠΎ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠΌΠΌΠΈΡΡ, Π²Π΅ΡΠΊΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ Π΄Π°ΠΆΠ΅ ΠΎΠ΄Π½Ρ-Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π²ΠΏΠ°Π΄Π°ΡΡΠΈΡ
Π² Π±Π»Π°Π³ΠΎΠ³ΠΎΠ²Π΅ΠΉΠ½ΡΠΉ ΡΡΡΠΏΠΎΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΡΡΠΎΡΠ°ΠΌΠΈ Git.
GenyMotion
ΠΠΎΠ³Π΄Π°-ΡΠΎ Π΄Π°Π²Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Android-ΡΠΌΡΠ»ΡΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π» ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΡΠ»ΠΈΡΠΊΠΈ, GenyMotion Π±ΡΠ» Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ Android-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΠ»ΡΡ ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΡΡ ΠΈΠ· ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΌΡΠ»ΡΡΠΎΡΠ° Π² ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Android Wifi ADB
Π‘ ΡΡΠΈΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ, Π½ΠΎ ΡΠ΄Π°Π»Π΅Π½ΡΠΊΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Android Studio Π½Π° Π΄Π΅Π²Π°ΠΉΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ WiFi. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π΅ΡΠΆΠ°ΡΡ Π΄Π΅Π²Π°ΠΉΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΊΠ°Π±Π΅Π»Π΅ΠΌ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΡΡΡΡ ΠΎΠΏΡΡΠΎΠΌ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
FindBugs
ΠΡΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π² ΠΏΠΎΠΈΡΠΊΠ΅ ΡΠΈΠΏΠΈΡΠ½ΡΡ Π΄Π»Ρ Java Π±Π°Π³ΠΎΠ² ΠΏΡΡΠΌΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π‘ΠΎΠ±ΠΈΡΠ°Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ, ΡΠ°ΠΌΠΈ ΡΠΎΠ³ΠΎ Π½Π΅ Π·Π½Π°Ρ, ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΎ ΡΡΡ, ΡΠΎ ΡΠ°ΠΌ Π±Π°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ»Π°Π·ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅, Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠΌΠ°ΡΠΎΡ Ρ.
Drawable Optimizer
Π Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ Π²Π΅ΡΠΎΠΌΡΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ°Π·ΠΌΠ΅Ρ APK. ΠΠΎ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡΠ½ΡΠΉ Gradle-ΠΏΠ»Π°Π³ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ APK.
Scalpel
ΠΡΠΎΡ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ 3D-ΠΌΠ°ΠΊΠ΅ΡΠ° Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ. ΠΠΎΠ²ΠΈΡΠΊΠ°ΠΌ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π΄ΠΎΡ Π½ΠΎΠ²Π»ΡΡΡΠΈΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ ΡΠ²ΠΎΠΈΡ ΠΌΠ°ΠΊΠ΅ΡΠΎΠ².
BlockCanary
ΠΡΠ΅ ΠΎΠ΄Π½Π° ΠΌΠΎΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠ°Ρ ΠΎΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Π΄ΠΎΠ»Π³ΠΎ ΠΈ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π·Π±ΠΎΠΆΠ½ΠΎ ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, Π° ΠΏΡΠΈΠ½ΡΠΈΠΏ Π΅Π΅ ΡΠ°Π±ΠΎΡΡ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ LeakCanary.
NimbleDroid
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΄ΠΎ Π΅Π³ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π² Play Market. ΠΠ½ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½Π°Ρ
ΠΎΠ΄Ρ ΠΌΠ΅ΡΡΠ° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ ΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
Methods Count
ΠΡΠΎ ΠΆΠ΅ Π½Π΅ Π»ΡΠ±ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΈΡ -Π½ΠΈΠ±ΡΠ΄Ρ Π²ΠΊΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π² ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠ»ΡΡΡΠΈΠ² Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ? ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΠΏΡΠ΅ΡΠ»ΠΎΠ²ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π΅Π»Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² 65536. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ ΡΡΠΎΡ ΡΡΠ΄Π΅ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π΄Π°ΡΡΠΈΠΉ ΡΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠ°ΠΆΠ΄Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΈΠ²Π½ΠΎΡΠΈΡ Π² Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
UPD ΠΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π° ΡΠ΅Π²ΡΠ°Π»Ρ 2019 Π³ΠΎΠ΄Π° ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½.
Android Tool for Mac
ΠΡΠ»ΠΈ Π²Ρ β Android-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Mac, ΡΠΎ ΡΡΠΎΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΡΠ΅ΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
, ΡΠΊΡΠΈΠ½ΡΠΎΡΡ, Π²ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΡΠ΅, ΠΎΠ΄Π½ΠΈΠΌ-Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
DevKnox
ΠΠ½ΡΡΡΠΈ Π½Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΡΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π°Π±ΡΡ
Π·Π²Π΅Π½ΡΠ΅Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Π΅ΠΌ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΠΈ ΡΡΠΈΠ»ΠΈΠΉ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠ»Π΅Π½Π΅ΠΏΡΠΎΠ±ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΡΠΎΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π²ΡΡΠ²Π»ΡΡΡ Π΄Π΅ΡΠ΅ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅Π»Π»ΡΠ΅ΠΊΠ΅Ρ Π² Π²Π°ΡΠ΅ΠΉ IDE.
JSONSchema2POJO
ΠΡΠ΅ ΠΌΡ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ»ΡΡΠ°ΡΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ JSON ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ java-ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΊΡΡΠ½ΠΎ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΡΡΡ-ΡΠΎ Π²Π°ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΡ ΠΊΡΡΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, β Π²ΡΡΠ°Π²ΠΈΡΡ Π²Π°Ρ JSON, ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π²Π°ΠΌ Π²ΡΠ΅ POJO-ΠΊΠ»Π°ΡΡΡ.
ADB IDEA
ΠΡΠΎΡ Π²ΠΎΡΡ ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ Android Studio Π΄Π΅Π»Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²Π°ΠΌ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ Π²Π°ΡΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ΄ Android. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ, ΡΠ±ΠΈΠ²Π°ΡΡ, Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΠΈΡΠΎΠ²Π°ΡΡ Π²Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΡΡΠΈΡΡ ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π·Ρ ΠΈΠ· IDE, ΡΠΊΠΎΠ½ΠΎΠΌΡ ΠΊΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Key Promoter
ΠΡ Π²ΡΠ΅ Π·Π½Π°Π΅ΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΈ Π±ΡΡΡΡΡ ΡΠΎΡΡΠΊΠ°ΡΡ, Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΡΡΠΎ ΠΈΡ
Π²ΡΠ΅ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡβ¦ ΠΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π° ΡΡΠ΅Π½Ρ Π²ΡΡ
ΠΎΠ΄ΠΈΡ ΡΡΠΎΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½, Π΄Π΅Π»Π°Ρ ΠΈΠ³ΡΡ Ρ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡΠΌΠΈ ΠΊΠ»Π°Π²ΠΈΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ Π² Π½Π΅Π΅ Π²Π΅ΡΡ ΡΠ°Π½.
Fabric
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π²Ρ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΡΠΈΠΌ ΡΠΈΠΊΠ°ΡΠ½ΡΠΌ ΠΌΠΎΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΡΠ΅Π΄ΡΡΠ², ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠ΅Π΅ ΡΠΎΠ±ΡΠ°ΡΡ, ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π΄Π°ΠΉΡΠ΅ Π΅ΠΌΡ ΡΠ°Π½Ρ.
ClassyShark
Π‘ ClassyShark Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ°ΠΉΠ» Android APK ΠΈ Π½Π°ΠΉΡΠΈ Π² Π½Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»Π°ΡΡΡ, ΡΠ΅ΡΡΡΡΡ, ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ dex-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
APK DeGuard
ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡΡΡΠΈΡ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ°ΠΌΡΠΉ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΠΉ Π΄Π΅ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ, Π±ΡΠ΄ΡΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΎΠ½ Π²ΡΠ΄Π°Π΅Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
Codota
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΌΡ Π²ΡΡΡΠ΅ΡΠ°Π΅ΠΌ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅, ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π° Π½Π° Stack Overflow ΠΈΠ»ΠΈ GitHub. ΠΡΠΎΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π½Π΅ ΠΏΠΎΠΊΠΈΠ΄Π°Ρ IDE.
Material Design Icon Generator
ΠΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ Android Studio ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌ Material Design ΠΈ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΡΠΌΠΎ Π² Π²Π°ΡΠ΅ΠΉ IDE, ΡΠΊΠΎΠ½ΠΎΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π²ΡΡΠ°ΠΆΠ°Π΅ΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΉ IT-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Noveo.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Β«30+ Kickass Tools to Develop Android Apps Like a ProΒ»
10 ΡΡΠ°Π±Π»ΠΎΠ² Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ β Β«Π₯Π°ΠΊΠ΅ΡΒ»
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ
ΠΠ°ΡΠΈΠ½Π°Ρ ΠΎΡΠ²Π°ΠΈΠ²Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π½Π°ΡΠΊΠ½Π΅ΡΡΡΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π·Π³Π»ΡΠ΄Π° Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΡΡ
ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΡ
ΠΊΠ°ΠΌΠ½Π΅ΠΉ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ
Π±ΡΠ΄ΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠ°ΠΌΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΊΠΎΠ΄ΠΈΠ½Π³Π°: Π½Π΅ΡΠΎΡΡΡΠΊΠΎΠ²ΠΊΠΈ Π² API, ΡΠΊΡΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΎΡΠΎΠ±ΡΠΉ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΡΡΡ ΠΈ ΠΊΠ°ΠΌΠ½ΠΈ, Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΎΠ΄Π°Π»Ρ: ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠΏΠ°ΡΡΠ° ΠΈ ΠΈΠΊΠΎΠ½ΠΎΠΊ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΊΡΠ°Ρ-ΡΠ΅ΠΏΠΎΡΡΠΎΠ². ΠΠ΅ΠΎΠΏΡΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄Π»Ρ Android ΡΠΈΡΠΊΡΡΡ ΠΎΡΠ±ΠΈΡΡ ΠΎ Π½ΠΈΡ
ΠΎΠ±Π΅ Π½ΠΎΠ³ΠΈ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ Android Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠΈΠ»ΠΈΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡ ΠΈΠ·Π±Π°Π²ΠΈΠΌΡΡ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΌΠ°ΡΡΡΠΎΠ½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°Π±Π΅Π»Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, ΡΠ°ΡΡΠ΅ΠΏΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΠΈ Lite ΠΈ Pro, Π²ΡΡΡΠΎΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΊΡΠ°Ρ-ΡΠ΅ΠΏΠΎΡΡΠΎΠ², Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±ΡΡΡΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ΄, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ. ΠΠΎΠ΅Ρ Π°Π»ΠΈ.
1. ΠΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΡΠΌΡΠ»ΡΡΠΎΡ
ΠΡΠ°ΠΊ, ΡΡ Π½Π°Π±ΡΠΎΡΠ°Π» ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ ΠΏΠΎΡΠ° Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Android SDK Π΅ΡΡΡ ΡΠΌΡΠ»ΡΡΠΎΡ. ΠΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΡΠΏΡΠ΅ΠΊΠ°Π»ΠΈ Π·Π° ΠΌΠ΅Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π½ΠΎ Ρ Π²ΡΠΏΡΡΠΊΠΎΠΌ Android Studio 2.0 ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΡΠΈΠ»Π°ΡΡ β x86-Π²Π΅ΡΡΠΈΡ ΡΠΌΡΠ»ΡΡΠΎΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Ρ
Π°ΡΠ΄Π²Π°ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ². Π ΡΠΎΠΌΡ ΠΆΠ΅ Ρ Π½Π΅Π³ΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΠΎΠ½ΠΊΠΈ, Π‘ΠΠ‘, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ GPS ΠΈ ΡΠ±ΠΎΠΈ Π² ΡΠ΅ΡΠΈ, ΡΠΎ Π΅ΡΡΡ Π²ΡΠ΅, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΠ°Π½ΡΡΠ΅ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΡ Π΅ΡΠ΅ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ, Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Ρ Eclipse. Π ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ x86-Π²Π΅ΡΡΠΈΡ ΡΠΌΡΠ»ΡΡΠΎΡΠ° Π² AVD manager, ARM-Π²Π΅ΡΡΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Ρ Π°ΡΠ΄Π²Π°ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ²ΡΠΉ ΡΠΌΡΠ»ΡΡΠΎΡ Android Studio 2.0
2. Π‘ΠΌΠ°ΡΡΡΠΎΠ½ Π½Π° ΠΏΠΎΠ²ΠΎΠ΄ΠΊΠ΅
ΠΡΠΎΡΠΎΠΉ ΡΡΠ°ΠΏ β ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. ΠΠ΄Π΅ΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ: ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡ ΡΠΌΠ°ΡΡΡΠΎΠ½ ΠΏΠΎ USB, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ, Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΄Π΅Π²Π°ΠΉΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΡΡΠ΄ΠΎΠΌ Ρ ΡΠΌΡΠ»ΡΡΠΎΡΠΎΠΌ). ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΊ ΠΠ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°Π±Π΅Π»Ρ, Π° Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ²ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΌΠ°ΡΡΡΠΎΠ½, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π·Π²ΠΎΠ½ΠΊΠΈ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠΎ ΠΎΠ± ΡΠ΄ΠΎΠ±ΡΡΠ²Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ.
Π ΡΡΠ°ΡΡΡΡ, Android Studio (Π° ΡΠΎΡΠ½Π΅Π΅, ΡΡΠΈΠ»ΠΈΡΠ° ADB, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ) ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ. ΠΠΎ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠ»ΠΈ Ρ ΡΠ΅Π±Ρ ΡΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΌΠ°ΡΡΡΠΎΠ½, ΡΠΎ ΡΠ΅Π±Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ: Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΠΎ ΡΠ΅ΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ WiFi ADB. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
- Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ WiFi ADB, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ, Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ IP-Π°Π΄ΡΠ΅Ρ.
- ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Android Studio.
- ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ SDK, Π΄Π°Π»Π΅Π΅ Π² platform-tools ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ adb connect IP-Π°Π΄ΡΠ΅Ρ
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡ ΡΠ²ΠΈΠ΄ΠΈΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠ²ΠΎΠΉ ΡΠΌΠ°ΡΡΡΠΎΠ½. Π’Π΅, Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ root, ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ADB Π² ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ² Π΅Π³ΠΎ ΠΊΠ°Π±Π΅Π»Π΅ΠΌ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΡΠ°ΠΊ:
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠΌΠ°ΡΡΡΠΎΠ½ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ.
- ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
- ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ SDK/platform-tools ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ adb tcpip 5555
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΊ ΡΠΌΠ°ΡΡΡΠΎΠ½Ρ ΠΏΠΎ ΡΠ΅ΡΠΈ:
$ adb connect IP-Π°Π΄ΡΠ΅Ρ
IP-Π°Π΄ΡΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΡΠ΅ΡΠ΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ: Β«Π ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ (Π ΠΏΠ»Π°Π½ΡΠ΅ΡΠ΅) β ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡΒ», ΠΏΡΠ½ΠΊΡ Β«IP-Π°Π΄ΡΠ΅ΡΒ».
3. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠΊΠ΅ΠΉ, ΡΠ²ΠΎΠΉ Π½Π°ΠΊΠΈΠ΄Π°Π½Π½ΡΠΉ Π·Π° ΠΏΠΎΠ»ΡΠ°ΡΠ° ΠΎΠ³ΡΡΠ·ΠΎΠΊ Π²ΡΠΎΠ΄Π΅ Π±Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΈ Π½Π°ΡΡΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π΅Π³ΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΊΡΠ°ΡΠΈΠ²ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°. ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ΅Π±Π΅ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ²ΡΠ·Ρ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ. Π Π΅ΡΠ»ΠΈ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ Π²ΡΠ΅ ΡΡΠ½ΠΎ (Π½ΡΠΆΠ΅Π½ SDK Π΄Π»Ρ Dropbox β ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡ ΠΏΠΎΡΡΠ°Π» Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ»Π΅Π΄ΡΠ΅ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ), ΡΠΎ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΆΠ΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠ΄Π΅ ΠΈΡ ΠΈΡΠΊΠ°ΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π»ΡΡΡΠ΅?
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ β ΡΡΠΎ Android Arsenal. Π’Π°ΠΌ ΡΡ Π½Π°ΠΉΠ΄Π΅ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅, ΡΡΠΎ ΡΠ΅Π±Π΅ Π½ΡΠΆΠ½ΠΎ. ΠΠΎΡΡΡΠΏΠ½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡΠ΅ΠΉΡΠΈΠ½Π³Ρ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΊΠ°ΠΊ Π΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π΄Π»Ρ Android ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ Gradle: Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΡΠ°ΠΉΠ» build.gradle ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ must have Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΡ Π½Π°ΠΉΠ΄Π΅ΡΡ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΡ ΡΠ΅Π±Ρ Π΄ΠΎΠ±Π°Π²Π»Ρ, ΡΡΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ
ΡΡΠ°ΠΏΠ°Ρ
ΡΡΠΎΠΈΡ ΡΡΠ°Π·Ρ ΠΈΠ·ΡΡΠΈΡΡ Dagger 2, RxJava ΠΈ Retrofit. Π‘ΡΠ°Π² ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΡΡ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
4. ΠΠΊΠΎΠ½ΠΊΠΈ ΠΈ ΠΊΠ»ΠΈΠΏΠ°ΡΡ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΏΡΡΡΡ Π΄Π½ΠΈ ΠΈΠ»ΠΈ Π½Π΅Π΄Π΅Π»ΠΈ Ρ ΡΠ΅Π±Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π½Π΅Ρ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ: ΠΈΠΊΠΎΠ½ΠΊΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ, Π² ΡΠΎΡΠΌΠ΅ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΡΠΎΠ±ΠΎΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ»ΠΈΠΏΠ°ΡΡΠ° β Π·Π°Π³Π»ΡΡΠΊΠΈ. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π±Π΅Π· Π³ΡΠ°ΡΠΈΠΊΠΈ ΡΠΎΠ²Π°ΡΡΡΡ Π² ΠΌΠ°ΡΠΊΠ΅ΡΡ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈ ΠΏΠ»Π°ΡΠΈΡΡ Π·Π° ΠΈΠΊΠΎΠ½ΠΊΡ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΆΠ΅ Π³Π»ΡΠΏΠΎ. Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ?
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈΠΊΠΎΠ½ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ Android Asset Studio, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π·Π° ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ Π²ΠΎ Π²ΡΠ΅Ρ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡ
. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ, ΡΡΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ, Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΠΊΠ»ΠΈΠΏΠ°ΡΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΡΡ ΡΠΌΠΎΠΆΠ΅ΡΡ Π·Π°Π΄Π°ΡΡ ΡΡΠΈΠ»Ρ ΠΈΠΊΠΎΠ½ΠΊΠΈ (ΠΊΡΡΠ³Π»Π°Ρ, ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ, Π² ΡΡΠΈΠ»Π΅ iOS. ..), ΡΠ²Π΅Ρ, Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅Π½ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π°ΡΡ
ΠΈΠ²
ic_launcher.zip
, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ AndroidstudioProjects/ΠΠΠ―_ΠΠ ΠΠΠΠΠΠΠΠ―/app/src/main/res
. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΠΉ Π²Π΅Π±-ΠΈΠΊΠΎΠ½ΠΊΡ, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«Generate web iconΒ». ΠΠ½Π° ΡΠ΅Π±Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ.
Π’ΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π΄Π»Ρ ActionBarβΠ° ΠΈ ΡΡΡΠΎΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΡΠΈΠ½ΡΠΈΠΏ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠΎΡ ΠΆΠ΅, ΡΠΊΠ°ΠΆΡ Π»ΠΈΡΡ, ΡΡΠΎ Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΌΠΎΡΡΡΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΠΈ Ρ ΠΎΡΡΡΡΠΏΠΎΠΌ ΠΎΡ ΠΊΡΠ°Π΅Π² 15%.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ΅Π±Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ Feature Image. ΠΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Play Market ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΠΊΠΈ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° (ΠΊΠΎΠ³Π΄Π° ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π΅). ΠΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠ½ΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΡ Google. ΠΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ Π²ΠΎΠΊΡΡΠ³ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ° ΡΠ°ΠΌΠΊΡ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°.
5. ΠΡΠ°Ρ-ΡΠ΅ΠΏΠΎΡΡΡ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ, ΠΈΠΊΠΎΠ½ΠΊΠ° Π΅ΡΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ, ΠΊΠΎΠ΄ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ. ΠΠ°ΡΡΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΡΡ Π΄Π΅Π»Π°Π΅ΡΡ, β ΡΠ°ΡΡΡΠ»Π°Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ·ΡΡΠΌ ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡΠΌ. ΠΠΎ Π²ΠΎΡ Π½Π΅Π·Π°Π΄Π°ΡΠ°: Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΈΠ· Π½ΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ, Π° Ρ ΡΠ΅Π±Ρ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎ, ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΏΡΠΈΠ²Π΅Π΄ΡΠΈΠ΅ ΠΊ ΠΏΠ°Π΄Π΅Π½ΠΈΡ, ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΡ. Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, ΠΏΡΠΎΡΠΈΡΡ Π΄ΡΡΠ·Π΅ΠΉ ΠΏΡΠΈΡΡΠ»Π°ΡΡ ΡΠ΅Π±Π΅ Π»ΠΈΡΡΠΈΠ½Π³ logcat?
ΠΠ΅Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΡΠ°Ρ-ΡΠ΅ΠΏΠΎΡΡΠΈΠ½Π³Π°. Π’Π°ΠΊΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΠΈ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ: ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠ΅ΠΊΡΡΠ΅ΠΉΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΡΠ΅ ΠΎΡΡΠ΅ΡΡ.
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΡΠ°ΠΊΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ β Fabric, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Splunk MINT: ΠΎΠ½ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ, ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°). Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ SDK, ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Gradle. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» build.
(ΡΠΎΡ, ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ) ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ: gradle
repositories {
maven { url "https://mint.splunk.com/gradle/" }
}
dependencies {
compile "com.splunk.mint:mint:5.0.0"
}
ΠΠ°Π»Π΅Π΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Splunk MINT, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (add app):
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Splunk MINT ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠ΅Π±Π΅ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΠΊΠΎΠ΄:
ΠΡΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ β ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½ΠΎΡΠΈΡ ΠΈΠΌΡ MainActivity.java), ΡΠ°ΠΌΠΎΠ΅ Π½Π°ΡΠ°Π»ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° onCreate()
. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΡ ΠΏΠΈΡΠ΅ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ, ΡΠΎ ΡΡΡΠΎΠΊΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ Π² ΠΊΠΎΠ΄ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΡΠΎΠΆΠ΅ Π² Π½Π°ΡΠ°Π»ΠΎ onCreate()
.
ΠΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Splunk MINT Π½Π°ΡΠ½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π’Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ, ΡΠ·Π΅ΡΠΎΠ², ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ, Π²Π΅ΡΡΠΈΠΈ Android, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠΈ ΠΈ ΠΏΡΠΎΡΠ΅Π΅):
ΠΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ ΠΈ ΡΡΠ΅ΠΊΡΡΠ΅ΠΉΡΡ:
ΠΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
6. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠ»ΠΈΡΠ½ΠΎ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΈΡ Π΄ΡΡΠ·Π΅ΠΉ, ΠΈ ΠΎΠ½ΠΎ ΠΈΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ. Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅? ΠΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π² ΠΌΠ°ΡΠΊΠ΅Ρ? ΠΠ΅Ρ, ΡΠ΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΡΠ΅ΡΠΎΠ².
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π»ΡΡΡΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΡΡΠΎ Xamarin. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π²ΡΡ ΡΡΡΡΡΠ°Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (ΡΠ°ΠΏΡ, ΠΆΠ΅ΡΡΡ, ΡΠΌΠ°Ρ ΠΈΠ²Π°Π½ΠΈΡ, Π½Π°ΠΆΠ°ΡΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ), ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°, Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. Π ΠΎΡΠ²Π΅Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Xamarin ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΌΠΎΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Calabash, ΡΠΎ Π΅ΡΡΡ, ΠΏΠΎ ΡΡΡΠΈ, ΠΏΠΈΡΠ°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π½Π° Ruby ΠΈΠ»ΠΈ C#) Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ. Π‘Π°ΠΌ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΠ»Π°ΡΠ½ΡΠΉ. Π’ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 30 Π΄Π½Π΅ΠΉ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ»Π°ΡΠΈΡΡ ΠΎΡ 100 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π² ΠΌΠ΅ΡΡΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ°ΠΌ Calabash β ΡΡΠΎ open source ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅.
Π‘ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ Π²ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π³ΠΎΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΡ Ρ ΠΎΡΠ΅ΡΡ ΠΎΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°. ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠ΄Π±ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ, Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΆΠ΄Π΅ΠΌ. ΠΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ? ΠΡ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ Π»ΡΡΡΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π½Π° Ubertesters. Π£ Π½ΠΈΡ Π²Π΅ΡΡΠΌΠ° Π΄Π΅ΠΌΠΎΠΊΡΠ°ΡΠΈΡΠ½ΡΠ΅ ΡΠ΅Π½Ρ, ΠΏΠ»ΡΡ Π² Π½Π°Π³ΡΡΠ·ΠΊΡ ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡ Π°Π½Π°Π»ΠΎΠ³ Splunk MINT Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ. ΠΠ΄ΠΈΠ½ ΡΠ°Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΈΡ ΠΎΡ 25 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Ubertesters
7. ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ
ΠΠΊΠ΅ΠΉ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠΎ Π²ΡΠ΅Ρ
ΡΡΠΎΡΠΎΠ½, ΠΈ ΠΏΠΎΡΠ° Π΅Π³ΠΎ Π²ΡΠ»ΠΎΠΆΠΈΡΡ Π² ΠΌΠ°ΡΠΊΠ΅Ρ. ΠΠΎ ΡΠΏΠ΅ΡΠ²Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΡΠΌΠΎΠ³ ΡΠΊΡΠ°ΡΡΡ ΡΠ²ΠΎΡ ΡΡΠΏΠ΅ΡΠΈΠ΄Π΅Ρ, β Π²ΡΠ΅-ΡΠ°ΠΊΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Dalvik Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΎΡΡ, ΠΈ Π΅Π³ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π³Π½Π°ΡΡ Π²ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Java. ΠΡΠΈΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Android Studio Π±Π΅Π· Π²ΡΡΠΊΠΈΡ
ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
Π ΡΡΠ°ΡΡΡΡ Π΄Π»Ρ Π½Π°Ρ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅Π²Π΅ΡΡΠ΅ΡΠΎΠ² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β ΡΠ»Π°Π±Π°ΠΊΠΈ, Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΡΠ΅ ΡΠ°ΡΠΊΠΎΠ²ΡΡΡΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΠ°. Π ΡΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡ Π΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ Android Studio. ΠΠ½ Π½ΠΎΡΠΈΡ ΠΈΠΌΡ ProGuard ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ minifyEnabled true
Π² ΡΠ°ΠΉΠ»Π΅ build.gradle
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
buildTypes {
release {
debuggable false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ProGuard Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ: ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ
ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ (MainActivity.class ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ A.class, onCreate()
ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² b()
ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄ ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΠ½Π»Π°ΠΉΠ½ΠΈΠ½Π³ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² (Π΅ΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄-1 ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡΡΠΎΠΊ, ΠΌΠ΅ΡΠΎΠ΄-2 Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·, ΡΠ°Π·ΡΠΌΠ½Π΅Π΅ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΊΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄Π°-1 Π² ΠΌΠ΅ΡΠΎΠ΄-2). ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π΅Π΅, Π±ΡΡΡΡΠ΅Π΅, Π° ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ Π½Π΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ½Π΅Π΅.
ΠΠ»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ReDex ΠΎΡ Facebook. ΠΠ°ΠΊ ΠΈ ProGuard, ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΠ½Π»Π°ΠΉΠ½ΠΈΠ½Π³, ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΌΠ΅ΡΡΠ²ΡΠΉ ΠΊΠΎΠ΄, Π° ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ feedback-directed optimization (FDO), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π»ΠΈΠΆΠ΅ ΠΊ Π½Π°ΡΠ°Π»Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ°. ΠΠ· Π΄ΡΡΠ³ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ: ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ±ΠΎΡΠΊΠΈ, ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²).
ΠΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ReDex Π½Π΅ ΠΏΡΠΈΠ·Π²Π°Π½ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ProGuard, Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°ΡΡΠ° ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΄Π°ΡΡΡΡ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 25% (ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²). ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ macOS ΠΈ Linux. ΠΡΠΈΡΠ΅ΠΌ Π² ΡΠΎΡΠΌΠ΅ Π³ΠΎΡΠΎΠ²ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΅Π³ΠΎ Π½Π΅Ρ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. Π Linux ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
$ git clone https://github.com/facebook/redex.git
$ cd redex
$ autoreconf -ivf && ./configure && make
$ sudo make install
ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
$ export ANDROID_SDK=/ΠΏΡΡΡ/Π΄ΠΎ/SDK
$ redex --sign -s /ΠΏΡΡΡ/Π΄ΠΎ/Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°/ΠΊΠ»ΡΡΠ΅ΠΉ -a ΠΈΠΌΡ_ΠΊΠ»ΡΡΠ° -s ΠΏΠ°ΡΠΎΠ»Ρ app-release.apk -o app-release-optimzied.apk
Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΊΠ»ΡΡ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΅Π»ΠΈΠ·Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΆΠ΅Π»ΡΡ Π°ΡΡΠΈΠ»Π»Π΅ΡΠΈΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β ΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΡ Π²ΡΠΎΠ΄Π΅ AppSolid ΠΈ DexProtector. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ, ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΠ΄ Π½Π°ΡΠΈΠ²Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠ΅ΡΡΡΡΡ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ. Π‘ΡΠΎΡΡ ΠΎΠ½ΠΈ Π΄ΠΎΡΠΎΠ³ΠΎ, ΠΈ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΈΡ Π·Π°ΡΠΈΡΠ° ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΉΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, ΠΏΡΠΈΡΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅Ρ ΠΈΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
INFO
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π±Π»ΠΎΠΊ buildTypes β release Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
shrinkResources true
.
8. Lite- ΠΈ Pro-Π²Π΅ΡΡΠΈΠΈ
ΠΡ Π²ΡΠ΅, ΠΏΠΎΡΠ° Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π² Play Market. Π₯ΠΎΡΡ Π½Π΅Ρ, ΡΡΠΎΠΏ! Π’Ρ ΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΊ ΡΠΈΠ΄Π΅Π» ΠΈ ΠΏΠΈΡΠ°Π» Π½ΠΎΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄, Π° ΠΏΠΎΡΠΎΠΌ, Π·Π΅Π²Π°Ρ, ΡΠ΅Π» Π½Π° ΡΡΠ΅Π±Ρ. ΠΠ΅ Π·ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ» ΠΊΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅ΡΠ·Π°Π» Π»ΡΠ΄Π΅ΠΉ Π³Π»ΡΠΏΡΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ Π½Π° Stack Overflow. Π’Ρ Ρ ΠΎΡΠ΅ΡΡ Π·Π°ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π° Π² ΠΈΠ΄Π΅Π°Π»Π΅ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π° ΡΠ°Π·Π±ΠΎΠ³Π°ΡΠ΅ΡΡ! ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ ΡΠ΅ΡΡΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
- Π’Ρ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Play Market ΠΈ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡ Π·Π° Π½Π΅Π³ΠΎ ΡΠ΅Π½Ρ. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ: Π»ΡΠ΄Π΅ΠΉ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ±Π΅ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΡΠΎ Π½Π΅ Π²Π°ΡΠΈΠ°Π½Ρ.
- Π’Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΡ. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ: Π½Π° ΡΠ΅ΠΊΠ»Π°ΠΌΠ΅ ΡΡ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π½Π° ΠΏΠΈΠ²ΠΎ, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΎΠ½Π° ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ Π»ΡΠ΄Π΅ΠΉ.
- Π’Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ in-app purchaise, ΡΠΎ Π΅ΡΡΡ Π΄Π°Π΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π°ΠΏΠ»Π°ΡΠΈΠ² ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ: in-app purchaise ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π²ΡΠ·Π°Π½ Π½Π° Google Play Services, Π° Π·Π½Π°ΡΠΈΡ, Π»ΠΈΠ±ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄ΡΡΠ³ΠΈΡ
ΠΌΠ°ΡΠΊΠ΅ΡΠ°Ρ
, Π»ΠΈΠ±ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΌ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ.
ΠΡΠΈΠ΄Π΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ.
- Π’Ρ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΠΈ Lite ΠΈ Pro, ΡΠΎΡ ΡΠ°Π½ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠ΅ β ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Google. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ: Pro-Π²Π΅ΡΡΠΈΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΡΠ°ΡΠΈΡΡ.
ΠΡΠΎΠ³ΠΎ Π΄Π²Π° ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°: 3 ΠΈ 4. ΠΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ (ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΡ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ), ΡΠΎ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠΌ.
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠΉ ΠΈΠ΄Π΅ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ±ΠΎΡΠΊΠΈ Gradle Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Flavors. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠ΅, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ, β ΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² build.gradle ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
productFlavors {
lite {
packageName = 'com.example.app'
}
pro {
packageName = 'com.example.app.pro'
}
}
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ BuildConfig.
. ΠΡΠΎΠ²Π΅ΡΡΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°: FLAVOR
if (BuildConfig.FLAVOR.equals("pro") {
// ΠΡΠ΅ΠΌΠΈΡΠΌ-ΠΊΠΎΠ΄
} else {
// ΠΠΎΠ΄ Π΄Π»Ρ Π±Π΅Π΄Π½ΡΡ
}
ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° Π΅ΡΡΡ ΠΈΠ·ΡΡΠ½ β ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Π²Π΅ΡΡ ΠΊΠΎΠ΄, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Lite-Π²Π΅ΡΡΠΈΡ Π² Pro ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ Π² ΡΠ°Π·Π½ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ main Π²Π½ΡΡΡΠΈ app/src
ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² (Lite ΠΈ Pro), Π° Π² Π½ΠΈΡ
ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ java/com/example/app
, Π³Π΄Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ, ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ Premium ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
9. Π’ΠΎΠ½ΠΊΠΎΡΡΠΈ Google Play
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, ΠΏΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ! ΠΠΎ Π½Π° ΡΡΠΎΠΌ ΡΠ²ΠΎΡ ΡΠΏΠΎΠΏΠ΅Ρ Π΅ΡΠ΅ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°, Google Play Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΅ΡΡΡ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΡΠ΅Π±Π΅ Π½ΡΠΆΠ½Ρ 25 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ². ΠΠ΅Π· Π½ΠΈΡ
Π² ΠΌΠ°ΡΠΊΠ΅Ρ Π½Π΅ ΠΏΡΡΡΡΡ. ΠΠΎ-Π²ΡΠΎΡΡΡ
, ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Developers Console Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ·ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ (ΠΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ β Π‘ΠΌΠ΅Π½ΠΈΡΡ ΡΠ·ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ):
ΠΠ½Π°ΡΠ΅ Π²ΡΠ΅, Ρ ΠΊΠΎΠ³ΠΎ ΡΠΌΠ°ΡΡΡΠΎΠ½ Π½Π°ΡΡΡΠΎΠ΅Π½ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄ΡΡ Π²ΠΈΠ΄Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠΊΠΎΠΌ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΠ°ΠΌΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π½Π° ΠΎΠ±ΠΎΠΈΡ ΡΠ·ΡΠΊΠ°Ρ (Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π½Π°Π΅ΡΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ β ΠΏΠΎΠΏΡΠΎΡΠΈ Π΄ΡΡΠ³Π°), ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΡΠΊΡΠΈΠ½ΡΠΎΡΡ. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡΡ, Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΠ·ΡΠΊ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½Π° ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΎΡ ΡΠ΅Π±Ρ ΠΏΠΎΡΡΠ΅Π±ΡΡΡ Π·Π½Π°ΡΠΎΠΊ Π² Π²ΡΡΠΎΠΊΠΎΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΈ Π·Π½Π°ΡΠΎΠΊ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π° Β«Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅Β». ΠΡΠ»ΠΈ ΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΠΈΠ· ΡΡΠ°ΡΡΠΈ, ΠΎΠ½ΠΈ Ρ ΡΠ΅Π±Ρ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ β ΡΡΠΎ ΡΠ΅ ΡΠ°ΠΌΡΠ΅ Π²Π΅Π±-ΠΈΠΊΠΎΠ½ΠΊΠ° ΠΈ Feature Image.
ΠΡ Π° Π΄Π°Π»Π΅Π΅ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ: ΡΠΈΠΏ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, Π²ΠΎΠ·ΡΠ°ΡΡΠ½Π°Ρ Π³ΡΡΠΏΠΏΠ°, Π²Π΅Π±-ΡΠ°ΠΉΡ, email. ΠΠΎΠ³Π΄Π° ΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ IARC Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²ΠΎΠ·ΡΠ°ΡΡΠ½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ (ΠΎΠ½ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ Π½Π° email), ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β» Π²Π²Π΅ΡΡ
Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΆΠ΄Π°ΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΡΠ°Ρ ΠΈΠ»ΠΈ Π΄Π²Π°. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ β ΠΎΠΊΠΎΠ»ΠΎ ΡΡΠΈΠ΄ΡΠ°ΡΠΈ ΠΌΠΈΠ½ΡΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» Π»ΠΈ ΡΡ ΡΠ°ΠΌΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ.
10. ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΡ
Π’Π΅Π±Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎ ΡΠ΄ΠΈΠ²ΠΈΡΡ, Π½ΠΎ ΡΠΆΠ΅ ΡΠ΅ΡΠ΅Π· Π½Π΅Π΄Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π² Play Market ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ½Π΅Ρ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΠΌΠ°ΡΠΊΠ΅ΡΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ AppsZoom ΠΈ 1Mobile. ΠΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ Π·Π½Π°ΠΊ, ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ, Π»ΡΡΡΠ΅ ΡΠ°ΠΌΠΎΠΌΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΡΠ°Π³ΠΈ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΠΊΠ΅ΡΠ°Ρ .
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Overscan ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π½Π° AppZoom ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· Π½Π΅Π΄Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π² Play MarketΠ§ΡΠΎΠ±Ρ ΡΠ΅Π±Π΅ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π΄ΠΎΠ»Π³ΠΎ ΠΈΡΠΊΠ°ΡΡ, Π²ΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΡΡ :
- Amazon App Store β ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΌΠ°ΡΠΊΠ΅Ρ ΠΎΡ Amazon, ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠΉ Π½Π° ΠΏΠ»Π°Π½ΡΠ΅ΡΡ Kindle.
- GetJar β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΡ
Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ
ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° Π½Π°ΡΠ°Π»ΠΎ 2015 Π³ΠΎΠ΄Π°, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 849 036 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java ME, BlackBerry, Symbian, Windows Mobile ΠΈ Android.
- SlideMe β ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΌΠ°ΡΠΊΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΈΡΠ°ΠΉΡΡ ΡΠ°ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π° ΡΠ²ΠΎΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΠΌΠ΅ΡΡΠΎ Google Play.
- Xiaomi App Store β ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΠΊΠ΅Ρ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠ³ΠΎ Β«ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΈ Π²ΡΡΒ» β Xiaomi.
- Baidu App Store β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
- Samsung Galaxy Apps β ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Samsung. ΠΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΡΠΎΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
- XDA Labs β ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΎΡΡΠΌΠ° XDA Developers. Π₯ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ²ΠΈΠΊΠΎΠ², ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠ΅Π±ΡΡΡΠΈΡ root, ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Xposed.
ΠΡ ΠΈ Π½Π΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΏΡΠΎ ΡΠΎΡΡΠΌ 4pda.ru. Π’Π°ΠΌ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΈΠ΄Π±ΡΠΊ ΠΎΡ ΡΠ·Π΅ΡΠΎΠ².
ΠΡΠ²ΠΎΠ΄Ρ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Android Ρ Π½ΡΠ»Ρ β ΡΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄ΠΈΠ½Π³. Π’Π΅Π±Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΅ΡΠΈΡΡ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π΄Π΅Π½Π΅ΠΆΠ½ΡΡ
Π²Π»ΠΈΠ²Π°Π½ΠΈΠΉ. ΠΠΎ, ΠΊΠ°ΠΊ ΠΌΡ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΠΏΠ»Π°ΡΠΈΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ½Π΄ΠΈ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ: Android | ΠΠ²Π°ΠΉΡ ΠΠ΄ΡΠΈΡ | AndroidPub
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ Π½ΡΠ»Ρ.
ΠΡΠ° ΡΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ Π±ΡΡΡΡΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² Android. ΠΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ ΠΊΡΠ°ΡΠΊΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠ½ΠΎΠ³ΠΎ xmls Π½Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΠΈΠ»ΠΎΡΡ ΠΏΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ½Π΅ΠΌ, Π½Π΅ ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
GitHub: https://github.com/owaistnt/andoridbuttonexample
ΠΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΡΠ±ΠΎΡ ΡΠ²Π΅ΡΠΎΠ²
Checkout material.io Π΄Π»Ρ ΡΠ²Π΅ΡΠΎΠ²Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠ²
ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ 2 Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°: ΠΎΠ΄ΠΈΠ½ Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ΄ΠΈΠ½ Π΄Π»Ρ Π½Π°ΠΆΠ°ΡΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΠΎΡΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
button_gradient_1 Π΄Π»Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ / ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π² Android StudioReversing gradientΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°
ΠΠ΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π²Π°ΡΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
button_selector.xmlΠΠ±ΡΡΠ²ΠΈΡΡ ΡΡΠΈΠ»Ρ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π² ΡΡΠΈΠ»ΡΡ
ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½Π°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ β ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ !!
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΠ° Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΡΡΡΠΏΡ ΠΈ ΡΠ΅ΠΊΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±ΡΠ»ΠΈ Π±Π΅Π»ΡΠΌΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π±ΡΡΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΡΡΠΎ Π² ΡΡΠΈΠ»ΡΡ .
ΠΡΡΠ°Π²ΠΈΡΡ Π² activity_main.xmlΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ StyleButton Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈΠΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ. ΠΠ°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Ρ API KitKat ΠΈ Π²ΡΡΠ΅ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π±ΡΠ» ΡΠ°ΠΌΡΠΉ Π½ΠΈΠ·ΠΊΠΈΠΉ API, Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°).
Π ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ Ripple?
Π ΡΠ±Ρ β ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ»Π°Π΄ΠΊΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ ΠΎΠ±Π΅ΡΠ½Π΅ΠΌ Π½Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΡΡΠ±ΡΡ, Π° ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ button_selector Π΄Π»Ρ API v21 ΠΈ Π²ΡΡΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ²Π΅Ρ ΡΡΠ±ΠΈ.
Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π°Π»ΡΡΠ°-ΠΊΠ°Π½Π°Π»Π° Π΄Π»Ρ ripplev21 button_selector.xmlΠΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΌΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ΅ΠΌΡ ΡΡΠ°ΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅. ΠΡ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ β ΡΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ? Π§ΡΠΎ ΠΆ, ΡΡΠΎΠΈΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ββΠ² ΡΡΠΈΠ»Π΅, Π»ΡΠ±ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠ°ΠΊΠ΅ΡΠ° Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠΌΠ΅Π½Π½ΠΎΠΉ.
Π― ΡΠΊΠ°Π·Π°Π» Π²Π°ΠΌ, ΡΡΠΎ XML Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅. ΠΡΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΡΡΠΊΠΈ ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ xmls, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ», ΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ·Π°Π΄ΠΈ.
ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ XML: button_selector.xmlΠΠΈΠ·Π°ΠΉΠ½, ΡΡΠΎΠ±Ρ Π²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·
ΠΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android, ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΡΡΠ³Π»Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, Π¦Π²Π΅Ρ
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ Android . ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Android, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ.ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ ΠΈ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠΈΡ
ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² xml.
ΠΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°?
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΈΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ:
- state_pressed
- state_selected
- state_focused
- state_enabled
state_focused β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ .ΠΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΌΡΠ»ΡΡΠΎΡΠ°Ρ .
state_selected ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ. Π Π°Π±ΠΎΡΠ°Π΅Ρ Ρ RadioButtons.
ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ: Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅, Π½Π°ΠΆΠ°ΡΠΎΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ / ΡΠ²Π΅Ρ / ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Android Studio.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π¦Π²Π΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ colors.xml:
Π‘Π΅Π»Π΅ΠΊΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΉΠ» xml, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ½Π°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° btn_bg_selector.xml
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π·Π½ΡΡ
ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ½Π° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ.
-
-
-
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π’Π΅Π³ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if β else if. ΠΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ·. ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ, ΠΎΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ΅Π³ΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π’ΡΠ΅ΡΠΈΠΉ ΡΠ΅Π³ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ. ΠΡΠ»ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π°Π²Π΅ΡΡ Ρ, Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π³Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ.
ΠΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² activity_main.xml
ΠΊΠ°ΠΊ:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector"
android: padding = "8dp"
android: text = "Π¦Π²Π΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ" />
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π°ΡΡΠΈΠ±ΡΡ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ btn_bg_selector_disabled.xml
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π°.
android.com/apk/res/android">
-
-
-
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π», Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ android: enabled ΠΊΠ°ΠΊ false.
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelectorDisabled"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector_disabled"
android: enabled = "Π»ΠΎΠΆΡ"
android: padding = "8dp"
android: text = "Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΠ²Π΅ΡΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½" />
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠ΅ΠΆΠ°ΠΌΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠΎΠ΄ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠ°ΠΉΠ»Π΅ btn_drawable_selector.
xml
-
-
-
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΠΊΡΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ .
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡ
ΡΠΈΡΠΈΠ½Π° / Π²ΡΡΠΎΡΠ° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΡΠ°ΠΊ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΠΈΠ½Ρ / Π²ΡΡΠΎΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡΡΠ΅ΠΌ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² xml, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΈΡ
Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π΄Π΅ΡΡ:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnDrawableSelector"
android: layout_width = "48dp"
android: layout_height = "48dp"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_drawable_selector"
android: padding = "16dp" />
ImageButton β ΡΡΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ImageButton ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ android: scale
Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π¦Π²Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Android
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ΅.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ· btn_txt_selector.xml
Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ android: color
Π²ΠΌΠ΅ΡΡΠΎ android: drawable
.
-
-
-
ΠΠ½ΠΎΠΏΠΊΠ° Π² ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ΅:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnTxtSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
Π€ΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π³ xml
.
ΠΡΠΈ XML-ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π€ΠΎΡΠΌΠ°
ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ²
.
Π€ΠΎΡΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΠ½Π° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ
(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), ΠΎΠ²Π°Π»
, ΠΊΠΎΠ»ΡΡΠΎ
, Π»ΠΈΠ½ΠΈΡ
.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Π³ΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅Π³Π° ΡΠΎΡΠΌΡ:
- <Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ> β Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ² Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΈΠΏΠΎΠΌ (ΡΠ°Π΄ΠΈΡΡ, Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ, ΡΠ°Π·Π²Π΅ΡΡΠΊΠ°)
-
-
-
Android Round Corner Button
ΠΠΎΠ΄ xml Π΄Π»Ρ btn_shape_round.xml ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "1dp"
android: color = "@ android: color / black" />
ΠΠ°ΠΊ ΠΈ Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°Ρ
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎ Π² ΡΠ΅Π³Π΅ android: background Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² Π½Π°ΡΠ΅ΠΌ xml-ΠΌΠ°ΠΊΠ΅ΡΠ΅.
Π€ΠΎΡΠΌΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Android Ρ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠΌ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ btn_shape_gradient.xml, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ
. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ gradient_radius.
<Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ
android: endColor = "@ ΡΠ²Π΅Ρ / Π·Π΅Π»Π΅Π½ΡΠΉ"
android: gradientRadius = "30dp"
android: type = "ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ"
android: startColor = "@ color / yellow" />
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "4dp"
android: color = "@ android: color / black" />
Π€ΠΎΡΠΌΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Android ΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ Π²ΠΌΠ΅ΡΡΠ΅
Π€Π°ΠΉΠ» btn_selector_shape.xml ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ.
android.com/apk/res/android">
-
<ΡΠ³Π»Ρ android: radius = "20dp" />
-
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΈ ΡΠΎΡΠΌΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π½Π° ΠΎΠ²Π°Π» ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ³ΠΎΠ», ΠΊΡΠ°ΡΠ½ΡΠΉ 45, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ±ΠΎΠΉ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠ°ΠΊ ΠΊΠ°ΠΏΡΡΠ»Ρ
btn_shape_capsule.
β ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΎΡΠΌΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°ΠΏΡΡΠ»Ρ. xml
-
-
ΠΠΎΠ΄ Π΄Π»Ρ MainActivity.ΠΠ»Π°ΡΡ java, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π²ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector"
android: padding = "8dp"
android: text = "Π¦Π²Π΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelectorDisabled"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector_disabled"
android: enabled = "Π»ΠΎΠΆΡ"
android: padding = "8dp"
android: text = "Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΠ²Π΅ΡΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnDrawableSelector"
android: layout_width = "48dp"
android: layout_height = "48dp"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_drawable_selector"
android: padding = "16dp" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnTxtSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnRoundShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_shape_round"
android: padding = "8dp"
android: text = "ΠΠ Π£ΠΠΠΠ― Π€ΠΠ ΠΠ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: background = "@ drawable / btn_shape_gradient"
android: padding = "8dp"
android: text = "Π€ΠΠ ΠΠ Π‘ ΠΠ ΠΠΠΠΠΠ’ΠΠ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnSelectorShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_selector_shape"
android: padding = "8dp"
android: text = "Π€ΠΠ ΠΠ ΠΠ«ΠΠΠ Π" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_shape_capsule"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Android Custom Button Design
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΠΎΠΊΠ° ΠΏΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°ΠΌ ΠΈ ΡΠΈΠ³ΡΡΠ°ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΠ΄ΠΈΠΈ Android ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅.
ΠΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android, ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΡΡΠ³Π»Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, Π¦Π²Π΅Ρ
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ Android. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Android, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ ΠΈ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² xml.
ΠΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°?
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΈΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ:
- state_pressed
- state_selected
- state_focused
- state_enabled
state_focused β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ . ΠΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΌΡΠ»ΡΡΠΎΡΠ°Ρ .
state_selected ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ. Π Π°Π±ΠΎΡΠ°Π΅Ρ Ρ RadioButtons.
ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ: Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅, Π½Π°ΠΆΠ°ΡΠΎΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ / ΡΠ²Π΅Ρ / ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Android Studio.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ.
Π¦Π²Π΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ colors.xml:
Π‘Π΅Π»Π΅ΠΊΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΉΠ» xml, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ½Π°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° btn_bg_selector.xml
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π·Π½ΡΡ
ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ½Π° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ.
-
-
-
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π’Π΅Π³ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if β else if. ΠΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ·. ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ, ΠΎΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ΅Π³ΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π’ΡΠ΅ΡΠΈΠΉ ΡΠ΅Π³ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ. ΠΡΠ»ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π°Π²Π΅ΡΡ Ρ, Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π³Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ.
ΠΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π½Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² activity_main.xml
ΠΊΠ°ΠΊ:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector"
android: padding = "8dp"
android: text = "Π¦Π²Π΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ" />
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π°ΡΡΠΈΠ±ΡΡ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ btn_bg_selector_disabled.
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π°ΠΊΡΠΈΠ²Π½Π°. xml
-
-
-
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π», Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ android: enabled ΠΊΠ°ΠΊ false.
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelectorDisabled"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector_disabled"
android: enabled = "Π»ΠΎΠΆΡ"
android: padding = "8dp"
android: text = "Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΠ²Π΅ΡΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½" />
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠ΅ΠΆΠ°ΠΌΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠΎΠ΄ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠ°ΠΉΠ»Π΅ btn_drawable_selector.xml
-
-
-
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΠΊΡΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ .
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡ
ΡΠΈΡΠΈΠ½Π° / Π²ΡΡΠΎΡΠ° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΡΠ°ΠΊ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΠΈΠ½Ρ / Π²ΡΡΠΎΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡΡΠ΅ΠΌ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² xml, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΈΡ
Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π΄Π΅ΡΡ:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnDrawableSelector"
android: layout_width = "48dp"
android: layout_height = "48dp"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_drawable_selector"
android: padding = "16dp" />
ImageButton β ΡΡΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ImageButton ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ android: scale
Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π¦Π²Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Android
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ΅.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ· btn_txt_selector.xml
Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ android: color
Π²ΠΌΠ΅ΡΡΠΎ android: drawable
.
-
-
-
ΠΠ½ΠΎΠΏΠΊΠ° Π² ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ΅:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnTxtSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
Π€ΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π³ xml
.
ΠΡΠΈ XML-ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π€ΠΎΡΠΌΠ°
ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ²
.
Π€ΠΎΡΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΠ½Π° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ
(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), ΠΎΠ²Π°Π»
, ΠΊΠΎΠ»ΡΡΠΎ
, Π»ΠΈΠ½ΠΈΡ
.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Π³ΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅Π³Π° ΡΠΎΡΠΌΡ:
- <Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ> β Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ² Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΈΠΏΠΎΠΌ (ΡΠ°Π΄ΠΈΡΡ, Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ, ΡΠ°Π·Π²Π΅ΡΡΠΊΠ°)
-
-
-
Android Round Corner Button
ΠΠΎΠ΄ xml Π΄Π»Ρ btn_shape_round.xml ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "1dp"
android: color = "@ android: color / black" />
ΠΠ°ΠΊ ΠΈ Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°Ρ
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎ Π² ΡΠ΅Π³Π΅ android: background Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² Π½Π°ΡΠ΅ΠΌ xml-ΠΌΠ°ΠΊΠ΅ΡΠ΅.
Π€ΠΎΡΠΌΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Android Ρ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠΌ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ btn_shape_gradient.xml, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ
. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ gradient_radius.
<Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ
android: endColor = "@ ΡΠ²Π΅Ρ / Π·Π΅Π»Π΅Π½ΡΠΉ"
android: gradientRadius = "30dp"
android: type = "ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ"
android: startColor = "@ color / yellow" />
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "4dp"
android: color = "@ android: color / black" />
Π€ΠΎΡΠΌΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Android ΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ Π²ΠΌΠ΅ΡΡΠ΅
Π€Π°ΠΉΠ» btn_selector_shape.xml ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ.
android.com/apk/res/android">
-
<ΡΠ³Π»Ρ android: radius = "20dp" />
-
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΈ ΡΠΎΡΠΌΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π½Π° ΠΎΠ²Π°Π» ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ³ΠΎΠ», ΠΊΡΠ°ΡΠ½ΡΠΉ 45, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ±ΠΎΠΉ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠ°ΠΊ ΠΊΠ°ΠΏΡΡΠ»Ρ
btn_shape_capsule.
β ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΎΡΠΌΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°ΠΏΡΡΠ»Ρ. xml
-
-
ΠΠΎΠ΄ Π΄Π»Ρ MainActivity.ΠΠ»Π°ΡΡ java, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π²ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector"
android: padding = "8dp"
android: text = "Π¦Π²Π΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelectorDisabled"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector_disabled"
android: enabled = "Π»ΠΎΠΆΡ"
android: padding = "8dp"
android: text = "Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΠ²Π΅ΡΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnDrawableSelector"
android: layout_width = "48dp"
android: layout_height = "48dp"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_drawable_selector"
android: padding = "16dp" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnTxtSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnRoundShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_shape_round"
android: padding = "8dp"
android: text = "ΠΠ Π£ΠΠΠΠ― Π€ΠΠ ΠΠ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: background = "@ drawable / btn_shape_gradient"
android: padding = "8dp"
android: text = "Π€ΠΠ ΠΠ Π‘ ΠΠ ΠΠΠΠΠΠ’ΠΠ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnSelectorShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_selector_shape"
android: padding = "8dp"
android: text = "Π€ΠΠ ΠΠ ΠΠ«ΠΠΠ Π" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_shape_capsule"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Android Custom Button Design
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΠΎΠΊΠ° ΠΏΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°ΠΌ ΠΈ ΡΠΈΠ³ΡΡΠ°ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΠ΄ΠΈΠΈ Android ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅.
ΠΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android, ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΡΡΠ³Π»Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, Π¦Π²Π΅Ρ
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ Android. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Android, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ ΠΈ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² xml.
ΠΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°?
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΈΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ:
- state_pressed
- state_selected
- state_focused
- state_enabled
state_focused β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ . ΠΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΌΡΠ»ΡΡΠΎΡΠ°Ρ .
state_selected ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ. Π Π°Π±ΠΎΡΠ°Π΅Ρ Ρ RadioButtons.
ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ: Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅, Π½Π°ΠΆΠ°ΡΠΎΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ / ΡΠ²Π΅Ρ / ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Android Studio.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π¦Π²Π΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ colors.xml:
Π‘Π΅Π»Π΅ΠΊΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΉΠ» xml, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ½Π°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° btn_bg_selector.xml
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π·Π½ΡΡ
ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ½Π° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ.
-
-
-
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π’Π΅Π³ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if β else if. ΠΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ·. ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ, ΠΎΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ΅Π³ΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π’ΡΠ΅ΡΠΈΠΉ ΡΠ΅Π³ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ. ΠΡΠ»ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π°Π²Π΅ΡΡ Ρ, Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π³Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ.
ΠΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π½Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² activity_main.xml
ΠΊΠ°ΠΊ:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector"
android: padding = "8dp"
android: text = "Π¦Π²Π΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ" />
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π°ΡΡΠΈΠ±ΡΡ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ btn_bg_selector_disabled.
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π°ΠΊΡΠΈΠ²Π½Π°. xml
-
-
-
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π», Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ android: enabled ΠΊΠ°ΠΊ false.
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelectorDisabled"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector_disabled"
android: enabled = "Π»ΠΎΠΆΡ"
android: padding = "8dp"
android: text = "Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΠ²Π΅ΡΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½" />
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠ΅ΠΆΠ°ΠΌΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠΎΠ΄ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠ°ΠΉΠ»Π΅ btn_drawable_selector.xml
-
-
-
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΠΊΡΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ .
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡ
ΡΠΈΡΠΈΠ½Π° / Π²ΡΡΠΎΡΠ° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΡΠ°ΠΊ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΠΈΠ½Ρ / Π²ΡΡΠΎΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡΡΠ΅ΠΌ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² xml, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΈΡ
Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π΄Π΅ΡΡ:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnDrawableSelector"
android: layout_width = "48dp"
android: layout_height = "48dp"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_drawable_selector"
android: padding = "16dp" />
ImageButton β ΡΡΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ImageButton ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ android: scale
Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π¦Π²Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Android
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ΅.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ· btn_txt_selector.xml
Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ android: color
Π²ΠΌΠ΅ΡΡΠΎ android: drawable
.
-
-
-
ΠΠ½ΠΎΠΏΠΊΠ° Π² ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ΅:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnTxtSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
Π€ΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π³ xml
.
ΠΡΠΈ XML-ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π€ΠΎΡΠΌΠ°
ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ²
.
Π€ΠΎΡΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΠ½Π° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ
(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), ΠΎΠ²Π°Π»
, ΠΊΠΎΠ»ΡΡΠΎ
, Π»ΠΈΠ½ΠΈΡ
.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Π³ΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅Π³Π° ΡΠΎΡΠΌΡ:
- <Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ> β Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ² Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΈΠΏΠΎΠΌ (ΡΠ°Π΄ΠΈΡΡ, Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ, ΡΠ°Π·Π²Π΅ΡΡΠΊΠ°)
-
-
-
Android Round Corner Button
ΠΠΎΠ΄ xml Π΄Π»Ρ btn_shape_round.xml ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "1dp"
android: color = "@ android: color / black" />
ΠΠ°ΠΊ ΠΈ Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°Ρ
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎ Π² ΡΠ΅Π³Π΅ android: background Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² Π½Π°ΡΠ΅ΠΌ xml-ΠΌΠ°ΠΊΠ΅ΡΠ΅.
Π€ΠΎΡΠΌΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Android Ρ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠΌ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ btn_shape_gradient.xml, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ
. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ gradient_radius.
<Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ
android: endColor = "@ ΡΠ²Π΅Ρ / Π·Π΅Π»Π΅Π½ΡΠΉ"
android: gradientRadius = "30dp"
android: type = "ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ"
android: startColor = "@ color / yellow" />
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "4dp"
android: color = "@ android: color / black" />
Π€ΠΎΡΠΌΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Android ΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ Π²ΠΌΠ΅ΡΡΠ΅
Π€Π°ΠΉΠ» btn_selector_shape.xml ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ.
android.com/apk/res/android">
-
<ΡΠ³Π»Ρ android: radius = "20dp" />
-
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΈ ΡΠΎΡΠΌΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π½Π° ΠΎΠ²Π°Π» ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ³ΠΎΠ», ΠΊΡΠ°ΡΠ½ΡΠΉ 45, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ±ΠΎΠΉ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠ°ΠΊ ΠΊΠ°ΠΏΡΡΠ»Ρ
btn_shape_capsule.
β ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΎΡΠΌΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°ΠΏΡΡΠ»Ρ. xml
-
-
ΠΠΎΠ΄ Π΄Π»Ρ MainActivity.ΠΠ»Π°ΡΡ java, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π²ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector"
android: padding = "8dp"
android: text = "Π¦Π²Π΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelectorDisabled"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector_disabled"
android: enabled = "Π»ΠΎΠΆΡ"
android: padding = "8dp"
android: text = "Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΠ²Π΅ΡΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnDrawableSelector"
android: layout_width = "48dp"
android: layout_height = "48dp"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_drawable_selector"
android: padding = "16dp" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnTxtSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnRoundShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_shape_round"
android: padding = "8dp"
android: text = "ΠΠ Π£ΠΠΠΠ― Π€ΠΠ ΠΠ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: background = "@ drawable / btn_shape_gradient"
android: padding = "8dp"
android: text = "Π€ΠΠ ΠΠ Π‘ ΠΠ ΠΠΠΠΠΠ’ΠΠ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnSelectorShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_selector_shape"
android: padding = "8dp"
android: text = "Π€ΠΠ ΠΠ ΠΠ«ΠΠΠ Π" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_shape_capsule"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Android Custom Button Design
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΠΎΠΊΠ° ΠΏΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°ΠΌ ΠΈ ΡΠΈΠ³ΡΡΠ°ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΠ΄ΠΈΠΈ Android ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅.
ΠΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android, ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΡΡΠ³Π»Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, Π¦Π²Π΅Ρ
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ Android. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Android, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ ΠΈ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² xml.
ΠΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°?
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΈΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ:
- state_pressed
- state_selected
- state_focused
- state_enabled
state_focused β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ . ΠΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΌΡΠ»ΡΡΠΎΡΠ°Ρ .
state_selected ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ. Π Π°Π±ΠΎΡΠ°Π΅Ρ Ρ RadioButtons.
ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ: Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅, Π½Π°ΠΆΠ°ΡΠΎΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ / ΡΠ²Π΅Ρ / ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Android Studio.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π¦Π²Π΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ colors.xml:
Π‘Π΅Π»Π΅ΠΊΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΉΠ» xml, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ½Π°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° btn_bg_selector.xml
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π·Π½ΡΡ
ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ½Π° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ.
-
-
-
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π’Π΅Π³ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if β else if. ΠΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ·. ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ, ΠΎΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ΅Π³ΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π’ΡΠ΅ΡΠΈΠΉ ΡΠ΅Π³ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ. ΠΡΠ»ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π°Π²Π΅ΡΡ Ρ, Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π³Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ.
ΠΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π½Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² activity_main.xml
ΠΊΠ°ΠΊ:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector"
android: padding = "8dp"
android: text = "Π¦Π²Π΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ" />
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π°ΡΡΠΈΠ±ΡΡ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ btn_bg_selector_disabled.
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π°ΠΊΡΠΈΠ²Π½Π°. xml
-
-
-
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π», Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ android: enabled ΠΊΠ°ΠΊ false.
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelectorDisabled"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector_disabled"
android: enabled = "Π»ΠΎΠΆΡ"
android: padding = "8dp"
android: text = "Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΠ²Π΅ΡΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½" />
Π‘Π΅Π»Π΅ΠΊΡΠΎΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠ΅ΠΆΠ°ΠΌΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠΎΠ΄ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠ°ΠΉΠ»Π΅ btn_drawable_selector.xml
-
-
-
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΠΊΡΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ .
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡ
ΡΠΈΡΠΈΠ½Π° / Π²ΡΡΠΎΡΠ° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΡΠ°ΠΊ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΠΈΠ½Ρ / Π²ΡΡΠΎΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡΡΠ΅ΠΌ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² xml, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΈΡ
Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π΄Π΅ΡΡ:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnDrawableSelector"
android: layout_width = "48dp"
android: layout_height = "48dp"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_drawable_selector"
android: padding = "16dp" />
ImageButton β ΡΡΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ImageButton ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ android: scale
Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π¦Π²Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Android
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ΅.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ· btn_txt_selector.xml
Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ android: color
Π²ΠΌΠ΅ΡΡΠΎ android: drawable
.
-
-
-
ΠΠ½ΠΎΠΏΠΊΠ° Π² ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ΅:
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnTxtSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
Π€ΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π³ xml
.
ΠΡΠΈ XML-ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π€ΠΎΡΠΌΠ°
ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ²
.
Π€ΠΎΡΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΠ½Π° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ
(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), ΠΎΠ²Π°Π»
, ΠΊΠΎΠ»ΡΡΠΎ
, Π»ΠΈΠ½ΠΈΡ
.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Π³ΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅Π³Π° ΡΠΎΡΠΌΡ:
- <Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ> β Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ² Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΈΠΏΠΎΠΌ (ΡΠ°Π΄ΠΈΡΡ, Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ, ΡΠ°Π·Π²Π΅ΡΡΠΊΠ°)
-
-
-
Android Round Corner Button
ΠΠΎΠ΄ xml Π΄Π»Ρ btn_shape_round.xml ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "1dp"
android: color = "@ android: color / black" />
ΠΠ°ΠΊ ΠΈ Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°Ρ
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎ Π² ΡΠ΅Π³Π΅ android: background Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² Π½Π°ΡΠ΅ΠΌ xml-ΠΌΠ°ΠΊΠ΅ΡΠ΅.
Π€ΠΎΡΠΌΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Android Ρ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠΌ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ btn_shape_gradient.xml, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ
. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ gradient_radius.
<Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ
android: endColor = "@ ΡΠ²Π΅Ρ / Π·Π΅Π»Π΅Π½ΡΠΉ"
android: gradientRadius = "30dp"
android: type = "ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ"
android: startColor = "@ color / yellow" />
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "4dp"
android: color = "@ android: color / black" />
Π€ΠΎΡΠΌΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Android ΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ Π²ΠΌΠ΅ΡΡΠ΅
Π€Π°ΠΉΠ» btn_selector_shape.xml ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ.
android.com/apk/res/android">
-
<ΡΠ³Π»Ρ android: radius = "20dp" />
-
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΈ ΡΠΎΡΠΌΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π½Π° ΠΎΠ²Π°Π» ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ³ΠΎΠ», ΠΊΡΠ°ΡΠ½ΡΠΉ 45, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ±ΠΎΠΉ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠ°ΠΊ ΠΊΠ°ΠΏΡΡΠ»Ρ
btn_shape_capsule.
β ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΎΡΠΌΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°ΠΏΡΡΠ»Ρ. xml
-
-
ΠΠΎΠ΄ Π΄Π»Ρ MainActivity.ΠΠ»Π°ΡΡ java, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π²ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector"
android: padding = "8dp"
android: text = "Π¦Π²Π΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgSelectorDisabled"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_bg_selector_disabled"
android: enabled = "Π»ΠΎΠΆΡ"
android: padding = "8dp"
android: text = "Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΡΠ²Π΅ΡΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnDrawableSelector"
android: layout_width = "48dp"
android: layout_height = "48dp"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_drawable_selector"
android: padding = "16dp" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnTxtSelector"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnRoundShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_shape_round"
android: padding = "8dp"
android: text = "ΠΠ Π£ΠΠΠΠ― Π€ΠΠ ΠΠ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnBgShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: background = "@ drawable / btn_shape_gradient"
android: padding = "8dp"
android: text = "Π€ΠΠ ΠΠ Π‘ ΠΠ ΠΠΠΠΠΠ’ΠΠ" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: id = "@ + id / btnSelectorShape"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_selector_shape"
android: padding = "8dp"
android: text = "Π€ΠΠ ΠΠ ΠΠ«ΠΠΠ Π" />
<ΠΠ½ΠΎΠΏΠΊΠ°
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_margin = "8dp"
android: background = "@ drawable / btn_shape_capsule"
android: padding = "8dp"
android: text = "ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°"
android: textColor = "@ drawable / btn_txt_selector" />
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Android Custom Button Design
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΠΎΠΊΠ° ΠΏΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°ΠΌ ΠΈ ΡΠΈΠ³ΡΡΠ°ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΠ΄ΠΈΠΈ Android ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅.
Π‘ΡΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Android
Π― Π΄ΠΎΠ±Π°Π²Π»Ρ ΡΠ²ΠΎΠΉ ΠΎΡΠ²Π΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΡΠ²Π΅ΡΡ.
Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ v7 Π²ΡΠ΅ ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΡΠ΅ ΡΡΠΈ ΡΡΠΈΠ»ΠΈ:
style = "@ style / ΠΠΈΠ΄ΠΆΠ΅Ρ.AppCompat.Button "
style = "@ style / Widget.AppCompat.Button.Colored"
style = "@ style / Widget.AppCompat.Button.Borderless"
style = "@ style / Widget.AppCompat.Button.Borderless.Colored"
Widget.AppCompat.Button
:
Widget.AppCompat.Button.Colored
:
Widget.AppCompat.Button.Borderless
Widget.AppCompat.Button.Borderless.Colored
:
Π§ΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»Ρ
<ΠΠ½ΠΎΠΏΠΊΠ°
.
......
.......
.......
android: text = "Button" />
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ
ΠΠ»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
Π¦Π²Π΅Ρ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ, ΡΠ»Π°ΠΆΠΊΠΎΠ² ΠΈ Ρ. Π.) Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ colorAccent
, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π·Π΄Π΅ΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΡΡΠΈΠ»Ρ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ²Π΅Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠ΅ΠΌΡ:
ΠΠ»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠΈΠ»Ρ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΡΠ²Π΅Ρ ΡΠΎΠ½Π° ΠΈ ΡΡΠΈΡΡΠ°:
ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠΈΠ»Ρ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:
android: theme = "@ style / AppTheme.
ΠΠ½ΠΎΠΏΠΊΠ°"
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠ΅ΠΌΡ styles.xml:
- @ style / btn
, Π³Π΄Π΅ @ style / btn
β ΡΠ΅ΠΌΠ° Π²Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΠΈΠ»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² Android Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»Π΅ΠΉ XML
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΈΠ· ΡΠ΅ΡΠ΅ΠΏΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Β«ΠΠ΄ΡΠΈΠ°Π½ΠΎΠΌ Π‘Π°Π½ΡΠ°Π»Π»ΠΎΠΉΒ» Π½Π° androidcookbook.ΠΊΠΎΠΌ: https://www.androidcookbook.com/Recipe.seam?recipeId=3307
1. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ XML-ΡΠ°ΠΉΠ», ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ XML-ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«button.xmlΒ» Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π°Π·Π²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
<ΡΠ»Π΅ΠΌΠ΅Π½Ρ
android: state_enabled = "Π»ΠΎΠΆΡ"
android: drawable = "@ drawable / button_disabled" />
<ΡΠ»Π΅ΠΌΠ΅Π½Ρ
android: state_pressed = "ΠΏΡΠ°Π²Π΄Π°"
android: state_enabled = "ΠΏΡΠ°Π²Π΄Π°"
android: drawable = "@ drawable / button_pressed" />
<ΡΠ»Π΅ΠΌΠ΅Π½Ρ
android: state_focused = "true"
android: state_enabled = "ΠΏΡΠ°Π²Π΄Π°"
android: drawable = "@ drawable / button_focused" />
<ΡΠ»Π΅ΠΌΠ΅Π½Ρ
android: state_enabled = "ΠΏΡΠ°Π²Π΄Π°"
android: drawable = "@ drawable / button_enabled" />
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» XML, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ XML-ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠ΅ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠ΅ΡΡΠ΅ΠΆΠ΅ΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΠΌ ΠΈΠΌΠ΅Π½Π°, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ button.xml.
button_enabled.xml:
<Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ
android: startColor = "# 00CCFF"
android: centerColor = "# 0000CC"
android: endColor = "# 00CCFF"
android: angle = "90" />
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "2dip"
android: color = "# FFFFFF" />
button_focused.xml:
android.com/apk/res/android" android: shape = "rectangle">
<Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ
android: startColor = "# F7D358"
android: centerColor = "# DF7401"
android: endColor = "# F7D358"
android: angle = "90" />
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "2dip"
android: color = "# FFFFFF" />
button_pressed.xml:
<Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ
android: startColor = "# 0000CC"
android: centerColor = "# 00CCFF"
android: endColor = "# 0000CC"
android: angle = "90" />
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "2dip"
android: color = "# FFFFFF" />
button_disabled. xml:
<Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ
android: startColor = "# F2F2F2"
android: centerColor = "# A4A4A4"
android: endColor = "# F2F2F2"
android: angle = "90" />
<ΠΈΠ½ΡΡΠ»ΡΡ
android: width = "2dip"
android: color = "# FFFFFF" />
3.Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» XML, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΡΠΈΠ»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°ΠΉΠ»Ρ, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π²ΡΡΠ΅, ΠΏΠΎΡΠ° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΡΠΈΠ»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ XML-ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ styles.xml (Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅Ρ), Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠΈΠ»Π΅ΠΉ, Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ de values.
ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠΈΠ»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² Π½Π΅ΠΌ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΈΠ»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΎΠ½ Π²Π°ΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ (button.xml) drawable, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅. ΠΠ»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π°ΡΡΠΈΠ±ΡΡ name.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° styles.xml:
<ΡΠ΅ΡΡΡΡΡ>
4. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ XML Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΈΠ»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ Android ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ XML-ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ themes.xml (Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅Ρ) Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΈΠ»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Android ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° themes.xml:
<ΡΠ΅ΡΡΡΡΡ>
ΠΠ°Π΄Π΅ΡΡΡ, Π²Π°ΠΌ, ΡΠ΅Π±ΡΡΠ°, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π΅Π·ΡΠΈ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Ρ ΠΈΡΠΊΠ°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.ΠΠ°ΡΠ»Π°ΠΆΠ΄Π°ΡΡΡΡ.
.