рд╕рдорд░реНрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдиреНрдпреВ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░реЗрдВ

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░!

рддреБрд░рдВрдд рдореИрдВ рд╡рд┐рд╖рдп рд╕реЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдореИрдВ рдПрдХ рдкреЗрд╢реЗрд╡рд░ рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рд╕рд┐рд░реНрдл рд╕реАрдЦ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдореИрдВрдиреЗ рдПрдХ рдХрд▓реНрдкрд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдерд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХреНрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдПрдХреНрд╢рдирдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ред

рдореЗрд░реЗ рд▓рд┐рдП рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг VK, Forsquare рдФрд░ Instagram рд╣реИрдВред рджрд░рдЕрд╕рд▓, ActionBar рдФрд░ SlidingMenu рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рддреБрд░рдВрдд рдЙрдирд╕реЗ рд▓рд┐рдП рдЧрдП рдереЗред рд╡реЗрдм рд╕рд╛рдЗрдЯреЛрдВ (рдореЗрд░реЗ рдореБрдЦреНрдп рд╡реНрдпрд╡рд╕рд╛рдп) рдХреЗ рд▓реЗрдЖрдЙрдЯ / рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдЙрдирдХреЗ рдЕрдЪреНрдЫреЗ рдХрд╛рдо рдХреЗ рд╕рд╛рде, рдпрд╣рд╛рдВ, рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛, рдХреНрдпреЛрдВрдХрд┐ рдПрдХреНрд╢рдирдмрд╛рд░ рдХреЗрд╡рд▓ 3.0 рдХреЗ рд╕рд╛рде рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЬрд▓реНрджреА рд╕реЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ - рд╕рдВрд╕реНрдХрд░рдг 2.1+ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╢рдирдмрд╛рд░ ред


рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


1. рдЧреНрд░рд╣рдг рдореЗрдВ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╣рдмреНрд░рд╛рдмреНрд░ рдХреА рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдиреНрдпреВрдирддрдо рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг API 7. рдЕрдзрд┐рдорд╛рдирддрдГ, рдПрдХ рд╡рд┐рд╖рдп рдХреЗ рдмрд┐рдирд╛ (рдереАрдо: рдХреЛрдИ рдирд╣реАрдВ)ред
2. рд╣рдо рд╕рдорд░реНрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рдлрд┐рд░ рд╕реЗ, рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВред рд╣рдо рд╡рд┐рд╖рдп рд▓рд┐рдЦрддреЗ рд╣реИрдВред
3. рдпрд╣ рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореБрдЭреЗ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛: 3.0 рд╕реЗ рдиреАрдЪреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓реЗрдЦ рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╡рд┐рд╖рдп рдХреЛ Res / рдорд╛рди / рд╕реНрдЯрд╛рдЗрд▓ / xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдмрд╕реЗ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп, рдЧреНрд░рд╣рдг рдПрдкреАрдЖрдИ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдХрдИ рд╢реИрд▓реА рдХреА рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ:


рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрдВ рд╣реА рд╡рд┐рд╖рдп рд╡рд╛рд░рд┐рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ Android 3.0 (API11) рддрдХ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдпрд╛ рд╕реАрдзреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рдереАрдо рдХреА рд╡рд┐рд░рд╛рд╕рдд рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, AndroidManifest.xml рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд▓рд╛рдЗрдиреЗрдВ рдвреВрдВрдвреЗрдВ:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > 

рдЬрд╣рд╛рдБ рд╣рдо рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
 android:theme="@style/AppTheme" 

рдкрд░:
 android:theme="@style/Theme.AppCompat.Light" 


рдЕрдЧрд░ рдХреЛрдИ рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ android: рд╡рд┐рд╖рдп - рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╖рдп рдХреЛ рд╕реАрдзреЗ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди, рдЖрдк рдЕрдкрдиреА рд░рдВрдЧ рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ 2 рджрд┐рди рд▓рдЧреЗ, рдЬрд┐рд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрдЬрддреЗ рд╕рдордп рдорд┐рд▓рд╛ред

рднрд╛рдЧреЛ, рдЬрд╛рдВрдЪ рдХрд░реЛред рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


рдХрдиреЗрдХреНрдЯ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ

рдЗрд╕ рддрд░рд╣ рдХреЗ рдореЗрдиреВ рдХреА рдЦреЛрдЬ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореИрдВ рддреБрд░рдВрдд рджрд░рд╛рдЬ рдореЗрдВ рдЖ рдЧрдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдХреБрдЫ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА, рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдпрд╣рд╛рдБ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛ред
рдЪреБрдирд╛рд╡ рдлрд┐рд╕рд▓ рдЧрдпрд╛ред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдлреНрдд рд╣реИ рдФрд░ GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ ред

1. рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЧреНрд░рд╣рдг рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ: рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореМрдЬреВрджрд╛ рдХреЛрдб рд╕реЗ рдлрд╝рд╛рдЗрд▓ тЖТ рдирдИ тЖТ рдЕрдиреНрдп тЖТ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЬрд╛рдПрдВ , рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рдЦрд┐рдбрд╝рдХреА рдореЗрдВ, рдкрд╣рд▓реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рдХреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдареАрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
2. рд╣рдо рдЗрд╕реЗ рдкрд╣рд▓реЗ рдмрдирд╛рдИ рдЧрдИ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рдПрдВ рд╕рдорд░реНрдерди Lirary, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ "рд▓рд╛рдЗрдмреНрд░реЗрд░реА" рдЪреБрдиреЗрдВред
3. рдФрд░ рдпрд╣рд╛рдБ рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдХрдВрд╕реЛрд▓ рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдВрдШрд░реНрд╖ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ android-support-v4.jar ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЫреЛрдЯреА рд╣реИ, рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣реА рдирд┐рд╣рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдорд░реНрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рднреА рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓ рдирд┐рдХрд▓рд╛, рдпрд╣ StackOverflow.com рдкрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛: рд╣рдо рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдФрд░ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ (рджреЛрдиреЛрдВ рдЗрд╕реЗ "lib" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ) рд╣рдЯрд╛рддреЗ рд╣реИрдВред
рдЕрдм рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рдЧрдИ рд╣реИ - рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рдпрд╣ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИред StackOverflow рдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рднреА рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛: рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рд╕рдкреЛрд░реНрдЯ рд▓рд┐рдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рддреАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрдЧреА, рдФрд░ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ, рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдкреЛрд░реНрдЯ рд▓рд┐рдм рдХреЛ рднреА рдЬреЛрдбрд╝реЗрдЧрд╛ред

рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдзрд┐рдХ рддрдХрдиреАрдХреА рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: "рдЖрдкрдХреЛ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рдореЗрдВ рд╕рдорд░реНрдерди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЧрд┐рд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд╣реИрд╢ рд░рдХрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢, рдпрд╣ рдореБрдЦреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдХрд╛рдо рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рдкрд░ред тАЭ

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ 3 рджрд┐рди рд▓рдЧреЗ (рд╣рд╛рдВ, рдореБрдЭреЗ рдЕрдкрдирд╛ рдЬреАрд╡рди рдЦрд░рд╛рдм рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИ), рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ред
рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЗрди рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рд▓рд╛рд▓ рд╢рд░реНрдорд┐рдВрджрдЧреА рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрдВрд╕реЛрд▓ рдХреЛ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВред

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЗ рдмрд╛рдж, MainActivity.java рдкрд░ рдЬрд╛рдПрдВ рдФрд░ onCreate () рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ:
 private SlidingMenu menu; 

рдЗрд╕рдХреЗ рдмрд╛рдж, рдореЗрдиреВ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдХреЛ рд╕реАрдзреЗ onCreate рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
 menu = new SlidingMenu(this); menu.setMode(SlidingMenu.LEFT); menu.setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setShadowDrawable(R.drawable.slidemenu_shadowgradient); menu.setShadowWidth(15); menu.setFadeDegree(0.0f); menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW); menu.setBehindWidth(200); menu.setMenu(R.layout.menu_frame); 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХреЛрдб рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЫрд╛рдпрд╛ ( menu.setShadowDrawable (R.drawableред Slidemenu_shadowgradient ) ) рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореЗрдиреВ рд╕реНрд╡рдпрдВ (рдореЗрдиреВ .setMenu (R.layoutред Menu_frame ) ) рд╕рдВрдХреЗрдд рджрд┐рдП рдЧрдП рд╣реИрдВ ред рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рдиреАрдЪреЗ рд╕рднреА рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгред

рд╕реНрд░реЛрдд рдХреЛрдб
MainActivity.java
 import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends ActionBarActivity { private SlidingMenu menu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); menu = new SlidingMenu(this); menu.setMode(SlidingMenu.LEFT); menu.setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setShadowDrawable(R.drawable.aslidingmenu_shadowgradient); menu.setShadowWidth(15); menu.setFadeDegree(0.0f); menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW); menu.setBehindWidth(200); menu.setMenu(R.layout.menu_frame); } } 



рд░реЗрд╕ / рдбреНрд░реЙрдПрдмрд▓ / рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ_рд╢реЗрдбреЛрд╡рдЧреНрд░реЗрдбрд┐рдПрдВрдЯрдПрдХреНрд╕рдПрдХреНрд╕рдПрдордПрд▓
 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <gradient android:endColor="@color/purple_dark" android:startColor="@color/back" /> </shape> </item> </selector> 



рд░реЗрд╕ / рд▓реЗрдЖрдЙрдЯ / menu_frame.xml
 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@color/back"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/menu_1" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/menu_2" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/menu_3" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/menu_4" android:textAppearance="?android:attr/textAppearanceLarge" /> </LinearLayout> 



Res / рдорд╛рди / рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ред xml
 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">SlideMenu Demo</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> <color name="back">#3d4140</color> <color name="purple_light">#ffffff</color> <color name="purple_dark">#353838</color> <string name="menu_1">Menu 1</string> <string name="menu_2">Menu 2</string> <string name="menu_3">Menu 3</string> <string name="menu_4">Menu 4</string> </resources> 




рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ

рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдХрдореА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реАрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рд╕рд╛рдЗрдб рдореЗрдиреВ (рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ) рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдЙрдВрдЧрд▓реА рдХреА рдЧрддрд┐ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реИрдВред

рдПрдХреНрд╢рдирдмрд╛рд░ рдореЗрдВ рдЖрдЗрдХрди

рдХреНрд░рд┐рдпрд╛ рдкрдЯреНрдЯреА рдореЗрдВ рдмрдЯрди-рдЖрдЗрдХрди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ MainActivity.java рдореЗрдВ рдХрд╣реАрдВ рднреА рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ:
 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { //  ID   case android.R.id.home: //   - ActionBar, menu.toggle(true); //   ( ) return true; } return super.onOptionsItemSelected(item); } 

OnCreate рдХреЗ рдЕрдВрдд рдореЗрдВ (), рдЬреЛрдбрд╝реЗрдВ:
 getSupportActionBar().setDisplayShowCustomEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдВрддрд┐рдо рдХреЛрдб рдЖрдЗрдХрди рдореЗрдВ рдПрдХ рд╕реБрдВрджрд░ рддреАрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

"рдмреИрдХ" рдмрдЯрди рджрдмрд╛рдХрд░ рдореЗрдиреВ рдХреЛ рдмрдВрдж рдХрд░рдирд╛

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ, рдореЗрдиреВ рдЦреБрд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк "рдмреИрдХ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдореЗрдиреВ рдирд╣реАрдВред рд╣рдо рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ:
 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { //    "" if(menu.isMenuShowing()){ //   SlidingMenu  menu.toggle(true); //   return false; } } return super.onKeyDown(keyCode, event); } 

рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдиреЗ onBackPressed () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛

рдкреВрд░реНрдг рдХреЛрдб MainActivity.java
 import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends ActionBarActivity { private SlidingMenu menu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); menu = new SlidingMenu(this); menu.setMode(SlidingMenu.LEFT); menu.setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setShadowDrawable(R.drawable.actionbar_gradient); menu.setShadowWidth(15); menu.setFadeDegree(0.0f); menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW); menu.setBehindWidth(200); menu.setMenu(R.layout.menu_frame); getSupportActionBar().setDisplayShowCustomEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: menu.toggle(true); return true; } return super.onOptionsItemSelected(item); } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if(menu.isMenuShowing()){ menu.toggle(true); return false; } } return super.onKeyDown(keyCode, event); } } 



рдкрд░рд┐рдгрд╛рдо:

(рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕реНрдХреНрд░реАрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ HabraStorage рдкрд░ рд▓реЛрдб рдирд╣реАрдВ рд╣реБрдИ, рдореБрдЭреЗ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдЗрдореЗрдЬ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛)ред

рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ


рдореИрдВ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреВрдВрдЧрд╛ рдЬреЛ рдкрд╛рдардХ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: "рдПрдХреНрд╢рдирдмреЗрд░ рд╢рд░реНрд▓рдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ" (рдпрджрд┐ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ)?
рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ: рдореБрдЭреЗ рдХрд╛рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрд╕рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ред рдЬрдм рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧрдореЗрдиреВ рд╢реБрд░реВ рд╣реБрдЖ, рддреЛ рдореБрдЭреЗ рд╕реБрдЭрд╛рдП рдЧрдП рд╢рд░реНрд▓рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛, рд▓реЗрдХрд┐рди рд╕рдорд░реНрдерди рд▓реАрдм рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрдИ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рдереА рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдзрд╛ рдХреЛрдб рдерд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЖрдзреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рдЬреБрдбрд╝реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯреВрд▓ рдХреЗ рд╕рд╛рдеред
рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛ рдерд╛, рдЖрдкрдХреЛ рдмрд╕ рдереЛрдбрд╝рд╛ рд╕рд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдВрдд рддрдХ рдкрдврд╝реЗ рддреЛ рдзрдиреНрдпрд╡рд╛рджред

PS рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдпрд╛ рдкрд╛рда рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВ - рд╡реНрдпрдХреНрдд рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдордд рднреВрд▓реЛ, рдХреГрдкрдпрд╛, рдХрд┐ рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рд╢реБрд░реБрдЖрдд рд╕реЗ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

UPD: рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдЬреЛрдбрд╝реЗ рдЧрдПред

Source: https://habr.com/ru/post/In194056/


All Articles