рдПрдВрдбреНрд░реЙрдпрдбред рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рджреЗрдВ

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рд▓реЗрдЖрдЙрдЯ


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдиреМрд╕рд┐рдЦрд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдпреВрдЖрдИ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ / Res / рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдПрдХ xml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░, рдПрдХ рдЕрджреНрднреБрдд рддрд░реАрдХреЗ рд╕реЗ, рдЗрд╕реЗ рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдПрдХ рдЕрдЬреАрдм рд╡рд┐рдзрд┐ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рддреБрд░рдВрдд рдПрдХ рднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЧрд╛рдпрдм рд╣реИ, рдФрд░ рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдпреВрдЖрдИ рдбрд┐рдЬрд╛рдЗрдирд░ рдПрдХ рдЪрдорддреНрдХрд╛рд░ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рдЦреИрд░, рдкрд░реНрдпрд╛рдкреНрдд ranting, рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП!

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ / рд░реЗрд╕ / рд▓реЗрдЖрдЙрдЯ рдФрд░ / рд░реЗрд╕ / рд▓реЗрдЖрдЙрдЯ-рд▓реИрдВрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ -рд▓реИрдВрдб рдПрдХ рдХреНрд╡рд╛рд▓рд┐рдлрд╛рдпрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЛрдИ рднреА рд▓реЗрдЖрдЙрдЯ рдХреЗрд╡рд▓ рд▓реИрдВрдбрд╕реНрдХреЗрдк (рдХреНрд╖реИрддрд┐рдЬ) рдореЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрджрд┐ рдХреЛрдИ рдРрд╕рд╛ рд▓реЗрдЖрдЙрдЯ рд╣реИ рдЬреЛ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдФрд░ рдХреНрд╖реИрддрд┐рдЬ рджреЛрдиреЛрдВ рдореЛрдб рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ / res / рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред Android рдЕрдкрдиреЗ рдЖрдк рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рдХреЛ рдШреБрдорд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдПрдХ рдирдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдореИрдирд╕реНрдЯреЗрд╕реНрдЯ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рд▓реЗрдЖрдЙрдЯ рдХреЛ / рд░реЗрд╕ / рд▓реЗрдЖрдЙрдЯ рдФрд░ / рд░реЗрд╕ / рд▓реЗрдЖрдЙрдЯ-рд▓реИрдВрдб рдлрд╝реЛрд▓реНрдбрд░ рджреЛрдиреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо рд╕реЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рд╡рд░реНрддрдорд╛рди рд▓реЗрдЖрдЙрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред

рдХреЛрдб рдореЗрдВ, рдЧрддрд┐рд╡рд┐рдзрд┐, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ

setContentView(R.layout.[ layout]); 

рдореБрдЭрд╕реЗ рдХреНрдпрд╛? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдиреЗрдЯ рдкрд░ рдХреНрдпрд╛ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рдЧреНрд░рд╛рдлрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдЖрд╡реЗрджрди рд▓рд┐рдЦрдирд╛ рдерд╛ред рдЕрдзрд┐рдХрд╛рдВрд╢ рддрддреНрд╡реЛрдВ рдХреЛ рдмрд╣реБрдд рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдорди рдореЗрдВ рдЖрдИ рд╡рд╣ рдЧрд▓рдд рдереАред рдореИрдВрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА ListView рд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рд╡рд╣рд╛рдВ рдпрд╣ рд╢реБрд░реВ рд╣реБрдЖ: onDraw, dispatchDraw, рдЖрджрд┐ред рддреЛ рдпрд╣ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ рдПрдХ рддрддреНрд╡ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рди рднреА рдирд┐рдХрд╛рд▓ рджрд┐рдПред

рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдпрд╣ рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдмрд╣реБрдд рдЕрдВрдд рддрдХ рдШрдЯрдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рд▓реЗрдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ рдХреЗ рд▓рд┐рдП рдмреЗрд╕ рдПрдбреЗрдкреНрдЯрд░ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╣рд╛рдВ рдПрдХ рдФрд░ рд▓реЗрдЖрдЙрдЯ рд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкрд┐рдХреНрд╕рд▓ рдореЗрдВ рдпреВрдЖрдИ рдХреЗ рд▓рд┐рдП рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рдШрдЯрдХ рдЧреБрдгреЛрдВ (attrs) рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдШрдЯрдХ рдХреЛ xml рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдкрдиреЗ рдЖрдк рдХреЛ xml рдореЗрдВ рдорд╛рди рднреА рдПрдХ рд╕реАрдзреА рд░реЗрдЦрд╛ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдпрд╛рдо, рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдЖрдЗрдП рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдЯрд╛рд░реНрдореНрд╕ рдФрд░ рдбрд╛рдпрдореЗрдВрд╢рдВрд╕ рд╕реЗ рдореЗрд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред

Attrs


Android рдЖрдкрдХреЗ рдХрд╕реНрдЯрдо рдШрдЯрдХреЛрдВ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╣рд┐рдд рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ / res / рдорд╛рди рдореЗрдВ attrs.xml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдирд╛рдо рдХреЛ рдорд╛рдирдХ рдорд╛рдирддрд╛ рд╣реВрдВред

Attrs.xml рдХреА рд╕рд╛рдордЧреНрд░реА рдордиреБрд╖реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрдардиреАрдп рд╣реИред рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

 <?xml version="1.0" encoding="utf-8" ?> <resources> <declare-styleable name="MyExampleView"> <attr name="exampleAttrWidth" format="dimension" /> </declare-styleable> </resources> 

рд╕рдВрд╕рд╛рдзрди рд▓рдЧрд╛рддрд╛рд░ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рд╕рдВрд╕рд╛рдзрди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЬрд╛рд╡рд╛ рдХреЛрдб рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреИрдХреЗрдЬ рдХреЗ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рдЖрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реА рдШреЛрд╖рдгрд╛ R.styleable.MyExampleView рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред рдореЗрд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдФрд░ рдореБрдЭреЗ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛, рд╡рд╣ рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рд░реВрдк (рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рдХрд╛рд░) рд╣реИ:
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рд╡рд░реНрдЧ рд╣реИ, рд╡реНрдпреВ рдХрд╛ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА: com.android.example.view.MyExampleViewред рд╣рдо рдЗрд╕рдХрд╛ рд╕рд░рд▓рддрд╛ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:

 package com.android.example.view; // import public class MyExampleView extends View { private exampleWidth; public MyExampleView(Context context) { super(context); //    this.exampleWidth = 128; } public MyExampleView(Context context, AttributeSet attrs) { super(context, attrs); initialize(context, attrs, 0); } public MyExampleView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); initialize(context, attrs, defStyle); } private void initialize(Context context, AttributeSet attrs, int defStyle) { //     xml final TypedArray styledAttributes = context.obtainStyledAttributes(attrs, R.styleable.MyExampleView, defStyle, 0); try { //   exampleWidth  dimension   this.verticalSpace = styledAttributes.getDimensionPixelSize(R.styleable.MyExampleView_exampleWidth, 128 /*    */); } finally { //  Android  ,      styledAttributes.recycle(); } } } 

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

 <!--      xmlns:example="http://schemas.android.com/apk/res/com.android.example.view"  ,     example:[ ] --> <com.android.example.view.MyExampleView example:exampleWidth="@dimen/exampleWidth" /> <!-- ... --> 

рдЖрдпрд╛рдо


рдПрдХ рдЖрджрд░реНрд╢ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╕рднреА рдорд╛рдиреЛрдВ рдХреЛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ /res/values/dimensions.xml рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: [value] dp, рдФрд░ рдлрд┐рд░ dimen / [name] рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ xml рдпрд╛ рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдордп рдХрд░рддрд╛ рд╣реВрдВ, рдкрд╛рда рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрд╡реЗрджрди рдХреЗ рдореБрдЦреНрдп рддрддреНрд╡, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдкреИрдирд▓реЛрдВ рдХреА рднрд░рдкрд╛рдИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрдбрд┐рдВрдЧ / рдорд╛рд░реНрдЬрд┐рди, рдЖрджрд┐ред рдХрд┐рд╕реА рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рди рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗред 10 рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рджреВрд░реА рдкрд░ рдмрдЯрдиред

рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рднреА рдкрд╛рда рдорд╛рдирдХреАрдХреГрдд рджрд┐рдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 30 рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдмрдбрд╝реЗ рд╢реАрд░реНрд╖рдХ, 24 рдкрд░ рдордзреНрдпрдо рдФрд░ 16 рдкрд░ рд╕рд╛рджреЗ рдкрд╛рдаред рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдмрджрд▓рддреЗ рд╣реИрдВред

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕ рдкрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд┐рд╡рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд┐рдВрджреБ рд╣реИред Google рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреНрд░рдорд╢рдГ рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓рдЧрдЗрди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛, рдФрд░ рдЕрдм рдРрд╕рд╛ рдЬрд╛рдирд╡рд░ рд▓рд┐рдВрдЯ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рд░ рд╕рдордп рдореБрдЭ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛ рдХрд┐ рдореБрдЭреЗ dp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, px рдХрд╛ рдирд╣реАрдВ, рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░рдг рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд┐рдпрд╛, рдХрд┐рдпрд╛ред рдЕрдм рдЖрдЗрдП рдШрдирддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБ, рдпрд╣ рдорд╛рди рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдХреНрд╕рд▓ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдХрд┐рддрдиреЗ рдирд┐рдХрдЯ рд╣реИрдВред рдпрд╛рдиреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ 800x600 рдХреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд╛рд▓рд╛ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ 800 * 600 рдкрд┐рдХреНрд╕рд▓ рд╣реИрдВ, рдЕрдиреНрдп 2 * 800 * 2 * 600 рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдВрддрд░ рдкрдХрдбрд╝рд╛ рд╣реИ? рдпрд╛рдиреА рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдПрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдкрд┐рдХреНрд╕реЗрд▓ рдШрдирддреНрд╡ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдФрд░ рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд▓рд┐рдВрдЯ рдЭреВрда рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИред рдЙрдЪреНрдЪ рдШрдирддреНрд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдбреАрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдореИрдВрдиреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛, рдФрд░ рдкрд╛рда рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдЖрдХрд╛рд░ (рджреГрд╖реНрдЯрд┐ рд╕реЗ) рд╣реЛ рдЧрдпрд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдореИрдВ рд╣рд░ рдЬрдЧрд╣ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА px рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ Lint рдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ px рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рдкреБрдирд░реНрд▓реЗрдЦрди dp рдирд╣реАрдВ рдЦрд░реНрдЪ рдХрд░реВрдВрдЧрд╛ред

рд░рдВрдЧ


рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рд░рдВрдЧреЛрдВ рдХреЛ xml рдореЗрдВ рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рднреА рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЪрд╛рд╣рд┐рдП): argb, rgbред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдлреЗрдж рд░рдВрдЧ:
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдирд┐рдпрдо рдмрд╣реБрдд рдЖрдпрд╛рдореЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдЖрдорддреМрд░ рдкрд░ /res/values/colors.xml рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд╕рдВрд╕рд╛рдзрди рдЯреИрдЧ рдореЗрдВ рднреАред рд░рдВрдЧреЛрдВ рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рд░рдВрдЧ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдкреВрд░реНрдг рдпреВрдЖрдИ рдХреЛ рдорд╛рдирдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдХрд┐рд╕реА рдПрдХ рддрддреНрд╡ рдХрд╛ рдЫреЛрдЯрд╛ рд╡рд┐рд╡рд░рдгред рддреЛ рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реНрдпрд╛рдореЛрд╣ рдФрд░ рдЖрд▓рд╕реНрдп рдХреЗ рдмреАрдЪ рд╕реНрд╡рд░реНрдгрд┐рдо рд╕реАрдбреАрдиред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрди рдиреЛрдЯреЛрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рд╕рдордп рдХреА рдмрдЪрдд рд╣реЛрдЧреА рдпрд╛ рдХреБрдЫ рдФрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдпреБрдкреАрдбреА:
рдкрд╛рда рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sdfsdhgjkbmnmxc рдФрд░ andreich рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред

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


All Articles