Android рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рдорд░реНрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА v28 рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

рдлрд┐рд░ рд╕реЗ рдирдорд╕реНрдХрд╛рд░ред

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

рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВред

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



рд╕рд╛рдордЧреНрд░реА рдмрдЯрди

MaterialButton рдПрдХ рд╡рд┐рдЬреЗрдЯ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рд╢реИрд▓реА рдореЗрдВ рдмрдЯрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд░реНрдЧ AppCompatButton рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИрдВ? рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдмрдЯрди рд╕реНрдЯрд╛рдЗрд▓ рдлреНрд▓реИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рд╛рдордЧреНрд░реА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рдЬрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдордЯреАрд░рд┐рдпрд▓рдмрдЯрди рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдордЧреНрд░реА рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реЛрдЧреА рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП - рдЗрд╕реЗ рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреЗрдВред



рд╣рдо рдЗрд╕ рдмрдЯрди рдХреЛ рдЕрдкрдиреА рд▓реЗрдЖрдЙрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

<android.support.design.button.MaterialButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MATERIAL BUTTON" android:textSize="18sp" app:icon="@drawable/ic_android_white_24dp" /> 

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

рдпрджрд┐ рд╣рдо рдмрдЯрди рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо MaterialButton рд╢реИрд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  • рдРрдк: рдЖрдЗрдХрди - рдмрдЯрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЫрд╡рд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


  • рдРрдк: iconTint - рдРрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЖрдЗрдХрди рдХрд╛ рд░рдВрдЧ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЖрдЗрдХрди рд╡рд┐рд╢реЗрд╖рддрд╛
  • рдРрдк: iconTintMode - рдЙрд╕ рдореЛрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдЗрдХрди рдХреЗ рд░рдВрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛


  • рдРрдк: рдЖрдЗрдХрдирдкреИрдбрд┐рдВрдЧ - рд╡рд╣ рдЗрдВрдбреЗрдВрдЯ рдЬреЛ рдРрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЖрдЗрдХрди рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛: рдЖрдЗрдХрди рд╡рд┐рд╢реЗрд╖рддрд╛


  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди: extraPaddingLeftForIcon - рдЙрд╕ рдЗрдВрдбреЗрдВрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдРрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЖрдЗрдХрди рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: рдЖрдЗрдХрди рд╡рд┐рд╢реЗрд╖рддрд╛


  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди: extraPaddingRightForIcon - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЖрдЗрдХрди рдХреЗ рджрд╛рдИрдВ рдУрд░ рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдбреЗрдВрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ: рд╡рд┐рд╢реЗрд╖рддрд╛


  • app: rippleColor - рдмрдЯрди рддрд░рдВрдЧ рдкреНрд░рднрд╛рд╡ рд░рдВрдЧ
  • app: backgroundTint - рдмрдЯрди рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реНрдпреВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рдпрджрд┐ рдЖрдк рдмрдЯрди рдХрд╛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХреЗ рдмрдЬрд╛рдп рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдмрдЯрди рдХреА рд╢реИрд▓реА рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рди рд╣реЛ
  • app: backgroundTintMode - рдЙрд╕ рд╡рд┐рдзрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛


  • рдРрдк: рд╕реНрдЯреНрд░реЛрдХрдХрд▓рд░ - рдмрдЯрди рд╕реНрдЯреНрд░реЛрдХ рд░рдВрдЧ
  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди: рд╕реНрдЯреНрд░реЛрдХрд╡рд╛рд░реНрдб - рдмрдЯрди рд╕реНрдЯреНрд░реЛрдХ рдЪреМрдбрд╝рд╛рдИ


  • app: cornerRadius - рдмрдЯрди рдХреЛрдиреЛрдВ рдХреЗ рдЪреМрд░рд╕рд╛рдИ рддреНрд░рд┐рдЬреНрдпрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ



рдЯреБрдХрдбрд╝рд╛

рдЪрд┐рдк рдШрдЯрдХ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдЪрд┐рдкреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рдЪрд┐рдк рдПрдХ рдЧреЛрд▓ рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдХреБрдЫ рдкрд╛рда рд╣реИред рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд╛рда рд╕реЗрдЯ рдХреЗ рдХреБрдЫ рд░реВрдк рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд┐рдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЪрдпрди рдпреЛрдЧреНрдп рдСрдлрд╝рд░ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рд╣рдо рдЕрдкрдиреЗ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдЪрд┐рдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, app:chipText рдЪрд┐рдк рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рдк рдЯреЗрдХреНрд╕реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛:

 <android.support.design.chip.Chip android:id="@+id/some_chip" android:layout_width="wrap_content" android:layout_height="wrap_content" app:chipText="This is a chip" /> 


рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рднреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд┐рдк рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдРрдк: рдЪреЗрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп - рдпрд╣ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЪрд┐рдк рдХреЛ рдЪрдпрдирд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ / рдирд╣реАрдВред рдпрджрд┐ рдЕрдХреНрд╖рдо рд╣реИ, рддреЛ рдЪрд┐рдк рдЪрдпрди рдмрдЯрди рдХреЗ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред
  • app: chipIcon - рдЪрд┐рдк рдореЗрдВ рдЖрдЗрдХрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ


  • app: closeIcon - рдЪрд┐рдк рдореЗрдВ рдбрд┐рд▓реАрдЯ рдЖрдЗрдХрди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ



рд╣рдо рдЕрдкрдиреЗ рдЪрд┐рдк рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рднреА рд▓рдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдорд╛рд░реА рдЪрд┐рдк рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╕реНрдерд┐рддрд┐ рдХрдм рдмрджрд▓ рдЧрдИред рд╣рдо рдЗрд╕реЗ setOnCheckedChangeListener рд╢реНрд░реЛрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 some_chip.setOnCheckedChangeListener { button, checked -> } 


рдпрджрд┐ рд╣рдо рдбрд┐рд▓реАрдЯ рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╕реБрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╡рд╣реА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рд╖реНрдХрд╛рд╕рди рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП setOnCloseIconClickListener рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 some_chip.setOnCloseIconClickListener { } 


рдЪрд┐рдк рд╕рдореВрд╣

рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪрд┐рдкреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд╣рдорд╛рд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдПрдХ рд╕рд╛рде рд╕рдореВрд╣рдмрджреНрдз рд╣реЛрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЪрд┐рдкрдЧреНрд░реБрдк рджреГрд╢реНрдп рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



рдЕрдЧрд░ рд╣рдо рдЪрд┐рдкрдЧреНрд░реБрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЪрд┐рдк рдЪрд┐рдк рдХреЗ рдореВрд▓ рдШрдЯрдХ рдореЗрдВ рдЕрдкрдиреЗ рдЪрд┐рдк рд╡реНрдпреВ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :

 <android.support.design.chip.ChipGroup android:layout_width="wrap_content" android:layout_height="wrap_content"> <android.support.design.chip.Chip android:layout_width="wrap_content" android:layout_height="wrap_content" app:chipText="This" /> <android.support.design.chip.Chip android:layout_width="wrap_content" android:layout_height="wrap_content" app:chipText="is" /> // ... </android.support.design.chip.ChipGroup> 


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЖрдкрдХрд╛ ChipView рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдереЛрдбрд╝рд╛ рдкрд┐рди рдХрд┐рдпрд╛ рд╣реБрдЖ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд ChipGroup рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рд░рд┐рдХреНрддрд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдРрдк: рдЪрд┐рдкрд╕реНрдкреЗрд╕рд┐рдВрдЧ - рдХреНрд╖реИрддрд┐рдЬ рдФрд░ рд▓рдВрдмрд╡рдд рджреЛрдиреЛрдВ рджреВрд░реА рдЬреЛрдбрд╝рддрд╛ рд╣реИ
  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди: ChipSpacingHor рдХреНрд╖реИрддрд┐рдЬ - рдХреНрд╖реИрддрд┐рдЬ рджреВрд░реА рдЬреЛрдбрд╝рддрд╛ рд╣реИ
  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди: ChipSpacingVertical - рдКрд░реНрдзреНрд╡рд╛рдзрд░ рджреВрд░реА рдЬреЛрдбрд╝рддрд╛ рд╣реИ


рд╣рдо app:singleLine рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд┐рдкрдЧреНрд░реБрдк рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдПрдХрд▓ рд▓рд╛рдЗрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣рдорд╛рд░реЗ рдмрдЪреНрдЪреЗ рдЪрд┐рдк рджреГрд╢реНрдп рдХреЛ рднреА рдШреЛрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ app:singleLine :



рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХ рд╕реНрдХреНрд░реЙрд▓ рдпреЛрдЧреНрдп рджреГрд╢реНрдп рдореЗрдВ рдЪрд┐рдкрдЧреНрд░реБрдк рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HorizontalScrollView рджреГрд╢реНрдп, рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЪрд┐рдкреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░ рд╕рдХреЗрдВ:

 <HorizontalScrollView android:layout_width="wrap_content" android:layout_height="wrap_content"> <android.support.design.chip.ChipGroup android:layout_width="wrap_content" android:layout_height="wrap_content" app:singleLine="true"> <android.support.design.chip.Chip android:layout_width="wrap_content" android:layout_height="wrap_content" app:chipText="Some chip" /> //  ... </android.support.design.chip.ChipGroup> </HorizontalScrollView> 


рд╕рд╛рдордЧреНрд░реА рдХрд╛рд░реНрдб рджреГрд╢реНрдп

рд╣рдорд╛рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рд╣рдордиреЗ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╣реА рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ CardView рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред рд╕рдкреЛрд░реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЕрдм MaterialCardView рдирд╛рдордХ рдПрдХ рдШрдЯрдХ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯрд╛рдЗрд▓ рдЖрдЙрдЯ-рдСрдл-рдж-рдмреЙрдХреНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред



CardView рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 <android.support.design.card.MaterialCardView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="16dp"> ... child views ... </android.support.design.card.MaterialCardView> 


рдЖрдк рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ CardView рдХреЛ рдЕрдкрдиреА рджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдРрдк: рд╕реНрдЯреНрд░реЛрдХрдХрд▓рд░ - рд╡рд╣ рд░рдВрдЧ рдЬреЛ рд╕реНрдЯреНрд░реЛрдХ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рд╕реНрдЯреНрд░реЛрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)
  • рдРрдк: рд╕реНрдЯреНрд░реЛрдХрд╡рд┐рдж - рд╕реНрдЯреНрд░реЛрдХ рдХреА рдЪреМрдбрд╝рд╛рдИ


рдЗрди рджреЛрдиреЛрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдЖрдк рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдбрд╡реНрдпреВ рдХреЛ рднреА рд╕реНрдЯрд╛рдЗрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ app:cardBackgroundColor , рдЖрджрд┐ред

рдиреАрдЪреЗ рдРрдк рдмрд╛рд░

BottomAppBar рдПрдХ рдирдпрд╛ рдШрдЯрдХ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд▓реЗрдЖрдЙрдЯ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдЯреВрд▓рдмрд╛рд░ рдЬреИрд╕рд╛ рдШрдЯрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ рдорд╛рдирдХ рдЯреВрд▓рдмрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХ рдЖрд╕рд╛рди рд╣реИред



рдЖрдк рдЕрдкрдиреЗ рд▓реЗрдЖрдЙрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ BottomAppBar рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

 <android.support.design.bottomappbar.BottomAppBar android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" app:backgroundTint="@color/colorPrimary" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдореЗрдВ рдПрдХ рдореЗрдиреВ рдирд┐рдпрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 bottom_app_bar.replaceMenu(R.menu.main) 


рдЬрдм рдПрдХ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХреЛ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди: fabAttached - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ FAB рдмреЙрдЯрдордРрдкрдмрд╛рд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ рдпрд╛ рдирд╣реАрдВред рдЖрдк FAB рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: FAB рдШрдЯрдХ рдореЗрдВ рд▓реЗрдЖрдЙрдЯ_рдПрдХрдЪрд░ рдЬрд┐рд╕реЗ рдЖрдк рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ FAB рд╕рдВрд▓рдЧреНрди рд╣реИ, рддреЛ рдЗрд╕реЗ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛, рдЕрдиреНрдпрдерд╛ FAB рдмреЙрдЯрдордРрдкрдмрд╛рд░ рд╕реЗ рдКрдкрд░ рд░рд╣реЗрдЧрд╛ред


  • рдРрдк: fabAlignmentMode - FAB рд╕реНрдерд┐рддрд┐ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рд╕реЗ рдЬреБрдбрд╝реА рдереАред рдпрд╣ рдпрд╛ рддреЛ рдЕрдВрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:


рдпрд╛ рдХреЗрдВрджреНрд░:

  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди: fabCradleVerticalOffset - рд╕рдВрд▓рдЧреНрди FAB рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдСрдлрд╕реЗрдЯ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ 0dp рд╣реИ


Dp рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ FAB рдХреЛ рд▓рдВрдмрд╡рдд рд░реВрдк рд╕реЗ рдКрдкрд░ рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реЗрдЧреА:



  • app: backgroundTint - рджреГрд╢реНрдп рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд░рдВрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рджреГрд╢реНрдп рдореЗрдВ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ android:background рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рд╕реНрдерд┐рд░рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ред


рдирд┐рд╖реНрдХрд░реНрд╖

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпреЗ рд╕рдорд░реНрдерди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдЬреЛрдбрд╝ рд╣реИрдВред рдореИрдВ рдмреЙрдХреНрд╕ рдХреЗ рдареАрдХ рдмрд╛рд╣рд░ рд╕рд╛рдордЧреНрд░реА-рд╢реИрд▓реА рдХреЗ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдПрдХ рдорд╛рдорд▓рд╛ рдорд┐рд▓рдиреЗ рдкрд░ рднреА рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ, рдЬрд╣рд╛рдВ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╕рдорд░реНрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реНрдерд┐рд░ рд╣реЛрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдореИрдВ рдЗрди рдирдП рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╕реБрдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛!

рдЕрдВрдд

рд╣рдо рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдпрд╣рд╛рдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЖрдк рдПрдХ рдЦреБрд▓реЗ рджрд┐рди рдореЗрдВ рдмрд╛рд░рдмрд░рд╛ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

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


All Articles