
рдирд┐рдЪрд▓рд╛ рдПрдкрдмрд╛рд░ рдирдП рдПрдВрдбреНрд░реЙрдЗрдб рдордЯреЗрд░рд┐рдпрд▓ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рд╕реЗ Google I / O 2018 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдиреЗрд╡рд┐рдЧреЗрд╢рди рдбреНрд░реЙрдЕрд░ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдиреВ рдХреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд▓реЗ рдЬрд╛рдХрд░, рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд░реВрдк рдмрджрд▓ рджреЗрддрд╛ рд╣реИред
рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдмреЙрдЯрдордПрдкрдмрд╛рд░ рдХреЗ рд╕рд╛рде рдорд┐рд▓реЗ рдФрд░ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреАред рд╣рдордиреЗ рдпрд╣ рднреА рд╕рдордЭрд╛рдпрд╛ рдХрд┐ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдбреНрд░реЙрдЕрд░ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдиреНрдпреВ рдХреЛ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХреЗ рднреАрддрд░ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╡реНрдпрд╡рд╣рд╛рд░
рдордЯреАрд░рд┐рдпрд▓ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдШрдЯрдХ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реИрдВред рд╡реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ред рд╕рд╛рдордЧреНрд░реА рдбрд┐рдЬрд╛рдЗрди рднреА рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЦрд╝рд╛рдХрд╛
рдкрд╣рд▓реЗ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдиреАрдЪреЗ рдХреА рдУрд░рдмрд╛рд░ рдХреЗ рд▓реЗрдЖрдЙрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ :
рд╡рд┐рднрд┐рдиреНрди рдЕрд░реНрдереЛрдВ рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП, рдЖрдк рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдореЗрдВ рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЗ рд▓реЗрдЖрдЙрдЯ рдФрд░ рд╕реЗрдЯ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдореЗрдиреВ рдЖрдЗрдЯрдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди рдкрд░ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рд▓реЗрдЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдореЗрдиреВ рдЖрдЗрдЯрдо рдФрд░ рдПрдХ рдХреЗрдВрджреНрд░рд┐рдд рдПрдлрдПрдмреА (рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдПрдХреНрд╢рди рдмрдЯрди) рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рджреНрд╡рд┐рддреАрдпрдХ рд╕реНрдХреНрд░реАрдиреЛрдВ рдкрд░ , рдЬреЛ рд╕рдВрдХреНрд░рдордг рдореБрдЦреНрдп рд▓реЛрдЧреЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмреЙрдЯрдордРрдкрдмрд╛рд░ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рджрд╛рдПрдВ-рд╕рдВрд░реЗрдЦрд┐рдд рдПрдлрдПрдмреА рдФрд░ рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдиреВ рдЖрдЗрдЯрдо рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЗрди рджреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рдмреАрдЪ рд╕рдВрдХреНрд░рдордг рдареАрдХ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред Gif рдСрди рдЯреЙрдк рдЗрд╕ рдЧрд╛рдЗрдбрд▓рд╛рдЗрди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░реАрди рдХреЗ рдореЗрдиреВ рдХреЗ рд▓рд┐рдП res/menu
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджреЛ xml рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/app_bar_search" android:icon="@drawable/baseline_search_white_24" android:title="@string/action_search" app:showAsAction="ifRoom"/> </menu>
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/app_bar_mail" android:icon="@drawable/baseline_mail_white_24" android:title="@string/action_mail" app:showAsAction="ifRoom"/> <item android:id="@+id/app_bar_delete" android:icon="@drawable/baseline_delete_white_24" android:title="@string/action_delete" app:showAsAction="ifRoom"/> <item android:id="@+id/app_bar_archieve" android:icon="@drawable/baseline_archive_white_24" android:title="@string/action_archieve" app:showAsAction="ifRoom"/> </menu>
рдЬрдм рд╕реНрдХреНрд░реАрди рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрдХреНрд░рдордг рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ TOGGLE рд╕реНрдХреНрд░реАрди рдмрдЯрди рджрдмрд╛рдХрд░, рдореЗрдиреВ рдФрд░ FAB рд╕рд╣рд┐рдд рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХреЗ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмреЙрдЯрдордРрдкрдмрд╛рд░ рд▓реЗрдЖрдЙрдЯ рдХреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
// Hide navigation drawer icon bottom_app_bar.navigationIcon = null // Move FAB from the center of BottomAppBar to the end of it bottom_app_bar.fabAlignmentMode = BottomAppBar.FAB_ALIGNMENT_MODE_END // Replace the action menu bottom_app_bar.replaceMenu(bottomappbar_menu_secondary) // Change FAB icon fab?.setImageDrawable(baseline_reply_white_24)
рдпрджрд┐ рдЖрдк рдПрдирд┐рдореЗрдЯреЗрдб рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдПрдиреАрдореЗрд╢рди рдорд┐рд▓реЗрдЧрд╛ред
рд╕реНрдХреНрд░реЙрд▓
рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡реНрдпрд╡рд╣рд╛рд░ рдЯреНрд░рд┐рдЧрд░ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХреЗ рд▓рд┐рдПред рд╕рд╛рдордЧреНрд░реА рдбрд┐рдЬрд╝рд╛рдЗрди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдкреГрд╖реНрда рдкрд░, рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ:
рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдирд┐рдЪрд▓рд╛ рдПрдкрдмрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЧрд╛рдпрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдЫрд┐рдк рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕рдореЗрдВ FAB рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреИрдирд▓ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рд░рд╣рддрд╛ рд╣реИред
- рдКрдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рдпрд╣ рд╡рд╣рд╛рдВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ FAB рдкрд░ рд░реАрдЯрдЪ рдХрд░рддрд╛ рд╣реИред
рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╕рдордп рдмреЙрдЯрдо рдПрдкрдмрд╛рд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╣реИред

рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдЪрд▓рд╛ рдПрдкрдмрд╛рд░ рдФрд░ рдПрдлрдПрдмреА рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯрд░ рд▓рдпрдЖрдЙрдЯ рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдмрдЪреНрдЪреЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░ рд╣рдо HideOnScroll рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдиреАрдЪреЗ рдХреА рдУрд░ рд╕реНрдХреНрд░реЙрд▓ рд╕реНрдХреНрд░реЙрд▓ рдЭрдВрдбреЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:
<com.google.android.material.bottomappbar.BottomAppBar android:id="@+id/bottom_app_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" app:fabAlignmentMode="center" app:hideOnScroll="true" app:layout_scrollFlags="scroll|enterAlways"/>
рдпрд╣ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдЙрдордВрдЧ
рдордЯреАрд░рд┐рдпрд▓ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗрдВ рд╣рдорд╛рд░реА рднреМрддрд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рдорд╛рди рдКрдБрдЪрд╛рдИ рд╣реИред рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдореЗрдВ, рдКрдВрдЪрд╛рдИ 8dp рд╣реИ , рдФрд░ рд╕реНрдХреНрд░реАрди рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реНрд╡рдпрдВ 0dp рддрдХ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рд╕реНрдерд┐рд░ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ FAB 12dp рддрдХ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рд╣рдо рдЬрд┐рди рджреЛ рдШрдЯрдХреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░реЗрдВрдЧреЗ, рдЙрдирдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдбреНрд░рд╛рд╡рд░ рдФрд░ рд╕реНрдиреИрдХрдмрд╛рд░ рдХреНрд░рдорд╢рдГ 16dp рдФрд░ 6dp рдХреА рд╡реГрджреНрдзрд┐ рдХрд░рддреЗ рд╣реИрдВред
рдЖрдорддреМрд░ рдкрд░, рд╕реНрдиреИрдХрдмрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдХ рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рдиреАрдЪреЗ рд╕реЗ рдкреЙрдк рдЕрдк рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдпрд╛ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдбреНрд░реЙрдЕрд░ рд╣реИ, рддреЛ рд╕реНрдиреИрдХрдмрд╛рд░ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕реНрдиреИрдХрдмрд╛рд░ рдХреЛ рдирд┐рдЪрд▓реЗ рдШрдЯрдХреЛрдВ рдХреЗ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдБ рдПрдХ рдбреЗрдореЛ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рд╣реИ:

private fun displayMaterialSnackBar() { val marginSide = 0 val marginBottom = 550 val snackbar = Snackbar.make( coordinatorLayout2, "FAB Clicked", Snackbar.LENGTH_LONG ).setAction("UNDO") { }
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдиреЗрд╡рд┐рдЧреЗрд╢рди рдбреНрд░рд╛рд╡рд░ 16dp рджреНрд╡рд╛рд░рд╛ рдЙрдЧрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ - рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ -
рдмреЙрдЯрдордРрдкрдмрд╛рд░ (рдЬреИрд╕реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдбреНрд░рд╛рд╡рд░) рд╕реЗ рдЧрд┐рд░рддрд╛ рд╣реБрдЖ рдореЗрдиреНрдпреВ рдиреАрдЪреЗ рдХреА рдУрд░ рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рд╕реЗ рдПрдХ рд▓реЗрд╡рд▓ рдиреАрдЪреЗ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣рдорд╛рд░реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рджрд░рд╛рдЬ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ:

рдиреЗрд╡рд┐рдЧреЗрд╢рди рдбреНрд░рд╛рд╡рд░ рдПрдХ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдКрдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╡рд░рдг рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИред res/menu
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рдиреЗрд╡рд┐рдЧреЗрд╢рди рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ xml рдореЗрдиреВ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреЗрд╡рд┐рдЧреЗрд╢рди рджрд░рд╛рдЬ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <group android:checkableBehavior="none"> <item android:id="@+id/nav1" android:icon="@drawable/baseline_mail_white_24" android:title="@string/nav_item1" /> <item android:id="@+id/nav2" android:icon="@drawable/baseline_bookmark_white_24" android:title="@string/nav_item2" /> <item android:id="@+id/nav3" android:icon="@drawable/baseline_message_white_24" android:title="@string/nav_item3" /> <item android:id="@+id/nav4" android:icon="@drawable/baseline_note_white_24" android:title="@string/nav_item4" /> <item android:id="@+id/nav5" android:icon="@drawable/baseline_location_on_white_24" android:title="@string/nav_item5" /> <item android:id="@+id/nav6" android:icon="@drawable/baseline_sync_white_24" android:title="@string/nav_item6" /> <item android:id="@+id/nav7" android:icon="@drawable/baseline_cloud_upload_white_24" android:title="@string/nav_item7" /> <item android:id="@+id/nav8" android:icon="@drawable/baseline_favorite_white_24" android:title="@string/nav_item8" /> <item android:id="@+id/nav9" android:icon="@drawable/baseline_chrome_reader_mode_white_24" android:title="@string/nav_item9" /> <item android:id="@+id/nav10" android:icon="@drawable/baseline_select_all_white_24" android:title="@string/nav_item10" /> <item android:id="@+id/nav11" android:icon="@drawable/baseline_sort_white_24" android:title="@string/nav_item11" /> <item android:id="@+id/nav12" android:icon="@drawable/baseline_access_time_white_24" android:title="@string/nav_item12" /> <item android:id="@+id/nav13" android:icon="@drawable/baseline_data_usage_white_24" android:title="@string/nav_item13" /> </group> </menu>
рдлрд┐рд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рджрд░рд╛рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдЖрдЙрдЯ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП:
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.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:id="@+id/navigation_view_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:behavior_hideable="true" app:layout_behavior="@string/bottom_sheet_behavior"> <com.google.android.material.navigation.NavigationView android:id="@+id/navigation_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_marginTop="4dp" android:paddingBottom="40dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/view2" app:menu="@menu/bottom_nav_drawer_menu" app:theme="@style/NavigationDrawerStyle" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="12dp" android:layout_marginTop="16dp" android:fontFamily="@font/rubik_medium" android:text="@string/bottom_sheet_name" android:textColor="@color/colorAccent" android:textSize="18sp" android:textStyle="bold" app:layout_constraintStart_toEndOf="@+id/imageView" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="2dp" android:text="@string/bottom_sheet_email" android:textColor="@color/colorAccent" app:layout_constraintStart_toStartOf="@+id/textView" app:layout_constraintTop_toBottomOf="@+id/textView" /> <ImageView android:id="@+id/imageView" android:layout_width="48dp" android:layout_height="48dp" android:layout_marginStart="24dp" android:background="@drawable/baseline_account_circle_black_48" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/textView" /> <View android:id="@+id/view2" android:layout_width="match_parent" android:layout_height="2dip" android:layout_marginTop="15dp" android:background="#447e7e7e" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView2" /> <ImageView android:id="@+id/close_imageview" android:layout_width="24dp" android:layout_height="24dp" android:layout_marginTop="8dp" android:layout_marginEnd="16dp" android:layout_marginBottom="8dp" android:background="@drawable/baseline_close_black_24" android:visibility="gone" app:layout_constraintBottom_toBottomOf="@+id/textView2" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@+id/textView" /> </androidx.constraintlayout.widget.ConstraintLayout>
рдЗрд╕ рд▓реЗрдЖрдЙрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрд╢рди рджреГрд╢реНрдп рдФрд░ рдЕрдиреНрдп рдШрдЯрдХ рд╣реИрдВ рдЬреЛ рдиреЗрд╡рд┐рдЧреЗрд╢рди рджрд░рд╛рдЬ рдХреЗ рд▓рд┐рдП рд▓реЗрдЖрдЙрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдЦрдВрдб рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
class BottomNavigationDrawerFragment: BottomSheetDialogFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater.inflate(R.layout.fragment_bottom_navigation_drawer, container, false) } override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) navigation_view.setNavigationItemSelectedListener { menuItem ->
рдЬрдм рдЖрдк рдиреЗрд╡рд┐рдЧреЗрд╢рди рдбреНрд░реЙрдЕрд░ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдПрдХ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
override fun onOptionsItemSelected(item: MenuItem?): Boolean { when (item!!.itemId) { android.R.id.home -> { val bottomNavDrawerFragment = BottomNavigationDrawerFragment() bottomNavDrawerFragment.show(supportFragmentManager, bottomNavDrawerFragment.tag) } } return true }
рдпрд╣ рд▓реЗрдЦ рдмреЙрдЯрдордПрдкрдмрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб Github рдкрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдФрд░ рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВред
B рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рднрд╛рдЧ 1: Android рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдШрдЯрдХ
B рдмреЙрдЯрдордРрдкрдмрд╛рд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рднрд╛рдЧ 2: рдореЗрдиреВ рдФрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рджрд░рд╛рдЬ рдирд┐рдпрдВрддреНрд░рдг