Maui: [рдХрд▓реНрдкрдирд╛] рдРрдкрдмрд╛рд░

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЬреВрди 2020  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/maui

рдРрдкрдмрд╛рд░

рдРрдк рдмрд╛рд░ рдореЗрдВ рдПрдХ рдЯреВрд▓рдмрд╛рд░ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреНрдп рджреГрд╢реНрдп рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдмреЗрдирдХрд╛рдм рдХрд░реЗрдВред

рдРрдкрдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рд╕рдм рдХреБрдЫ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдХрд▓реНрдк рдЬреИрд╕реЗ:

  • рдХрд╕реНрдЯрдо рдРрдк рдмрд╛рд░ рдКрдВрдЪрд╛рдИред
  • рдкреНрд░рддрд┐рдмрдВрдз рдпрд╛ рд╕реАрдорд╛рдУрдВ (рдорд╛рд░реНрдЬрд┐рди, рдЖрдХрд╛рд░, рдЖрджрд┐) рдХреЗ рдмрд┐рдирд╛ рдХреЛрдИ рднреА рд╕рд╛рдордЧреНрд░реА рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред
  • рдкрд╛рд░рджрд░реНрд╢реА рдРрдкрдмрд╛рд░ред
  • рдЖрджрд┐ред

рдиреЛрдЯ: рдРрдкрдмрд╛рд░ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рджреГрд╢реНрдп рд╣реИ рдЬреЛ рджреЗрд╢реА рдирд╛рд╡рдмрд╛рд░ рдХреА рд╕реАрдорд╛ рд╕реЗ рдЯрдХрд░рд╛рдиреЗ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдХрд╕реНрдЯрдо рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝рдирд╛, рд▓реЗрдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдЖрджрд┐ред

Xamarin.Forms рдореЗрдВ, рдРрдк рдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдорддреМрд░ рдкрд░ Shell.AppBar рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдРрдк рдмрд╛рд░ рдХреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд-рдКрдВрдЪрд╛рдИ рд╡рд┐рдЬреЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред

appbar

рдПрдкреАрдЖрдИ

рдЗрд╕рдХреЗ рдмрд╛рдж, рдРрдкрдмрд╛рд░ рдЧреБрдгреЛрдВ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪреАред

рдЧреБрдг

| рд╕рдВрдкрддреНрддрд┐ | рдкреНрд░рдХрд╛рд░ | рд╡рд┐рд╡рд░рдг |
|----------|:----------------:|:----------------:|
| рдкреНрд▓реЗрд╕рдореЗрдВрдЯ | рдРрдкрдмрд╛рд░ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ | AppBar рдкреНрд▓реЗрд╕рдореЗрдВрдЯ (рдКрдкрд░ рдпрд╛ рдиреАрдЪреЗ)ред |
| рдмрд╛рд░рд╣рд╛рдЗрдЯ | рдбрдмрд▓ | рдРрдк рдмрд╛рд░ рдХреА рдКрдВрдЪрд╛рдИ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред |
| рдмрд╛рд░рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб | рдмреНрд░рд╢ | рдПрдХ рдмреНрд░рд╢ рдЬреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред |
| рдмрд╛рд░рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдбрдЗрдореЗрдЬ | рдЫрд╡рд┐ рд╕реНрд░реЛрдд | рдПрдХ рдЫрд╡рд┐ рд╕реНрд░реЛрдд рдЬреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред |
| рдмрд╛рд░рдЯреЗрдХреНрд╕реНрдЯрдХрд▓рд░ | рд░рдВрдЧ | рдЧреНрд░рдВрдереЛрдВ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рд░рдВрдЧ (рд╢реАрд░реНрд╖рдХ, рдЖрджрд┐)ред |
| рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЖрдЗрдХрди | рдЫрд╡рд┐ рд╕реНрд░реЛрдд | рдПрдХ рдЫрд╡рд┐ рд╕реНрд░реЛрдд рдЬреЛ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЖрдЗрдХрди (рдмреИрдХ рдмрдЯрди, рдЖрджрд┐) рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред |
| рдмреИрдХрдмрдЯрди рд╢реАрд░реНрд╖рдХ | рд╕реНрдЯреНрд░рд┐рдВрдЧ | рдРрдк рдмрд╛рд░ рдмреИрдХ рдмрдЯрди рдЯрд╛рдЗрдЯрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред |
| рдмреЙрд░реНрдбрд░рдХрд▓рд░ | рд░рдВрдЧ | рдРрдк рдмрд╛рд░ рдмреЙрд░реНрдбрд░ рдХрд▓рд░ред |
| рд╕реАрдорд╛ рдореЛрдЯрд╛рдИ | рдореЛрдЯрд╛рдИ | рд╣рд░ рддрд░рдл рдПрдкрдмрд╛рд░ рдмреЙрд░реНрдбрд░ рдХреА рдЪреМрдбрд╝рд╛рдИред |
| FontFamily | рд╕реНрдЯреНрд░рд┐рдВрдЧ | рдРрдк рдмрд╛рд░ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдлрд╝реЙрдиреНрдЯ рдкрд░рд┐рд╡рд╛рд░ред |
| FontAttributes | FontAttributes | рдРрдк рдмрд╛рд░ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдлрд╝реЙрдиреНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБред |
| рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ | рдбрдмрд▓ | рдРрдк рдмрд╛рд░ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ред |
| рд╢реАрд░реНрд╖рдХ рджреГрд╢реНрдп | рджреЗрдЦреЗрдВ | рдРрдк рдмрд╛рд░ рдореЗрдВ рдХреЛрдИ рднреА Xamarin.Forms рджреЗрдЦреЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред |
| рдмреИрдХрдХрдорд╛рдВрдб | рдЖрдИрдХрдорд╛рдВрдб | рд╡рд╛рдкрд╕ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддреЗ рд╣реБрдП рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рддред |
| рдмреИрдХрдХрдорд╛рдВрдбрдкреИрд░рд╛рдореАрдЯрд░ | рд╡рд╕реНрддреБ | рд╡рд╛рдкрд╕ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреБрдХреНрдд рдХрдорд╛рдВрдб рдкреИрд░рд╛рдореАрдЯрд░ред |

рдЖрдпреЛрдЬрди

| рдШрдЯрдирд╛ | рд╡рд┐рд╡рд░рдг |
|----------|:----------------:|
| рдмреИрдХрдЯреИрдк | рдЗрд╡реЗрдВрдЯ рдЬреЛ рддрдм рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛рдкрд╕ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддрд╛ рд╣реИред |

рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ

рдЖрдЗрдП рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдирдореВрдиреЗ рджреЗрдЦреЗрдВред

рд╕рд░рд▓ рдРрдк рдмрд╛рд░

рдЖрдЗрдП рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

<Shell>
     <Shell.AppBar>
         <AppBar />
     </Shell.AppBar>
    ...
</Shell>

рдХрд╕реНрдЯрдо рдРрдк рдмрд╛рд░

рдПрдХ рдХрд╕реНрдЯрдо рдКрдВрдЪрд╛рдИ рдФрд░ рдХрд╕реНрдЯрдо рд╕рд╛рдордЧреНрд░реА (TitleView) рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ред

<Shell>
     <Shell.AppBar>
        <AppBar  
            BarHeight="120"
            BarBackgroundColor="Transparent">
            <AppBar.TitleView>
            ...
            </AppBar.TitleView>
        </AppBar>
     </Shell.AppBar>
    ...
</Shell>

рдкреНрд▓реЗрд╕рдореЗрдВрдЯ

рдПрдХ рд╢реАрд░реНрд╖ рдРрдк рдмрд╛рд░ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ) рдореЛрдмрд╛рдЗрд▓ рд╕реНрдХреНрд░реАрди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

<Shell>
     <Shell.AppBar
          Placement="Top">
         <AppBar />
     </Shell.AppBar>
    ...
</Shell>

appbar-top

рдПрдХ рдирд┐рдЪрд▓рд╛ рдРрдк рдмрд╛рд░ рдореЛрдмрд╛рдЗрд▓ рд╕реНрдХреНрд░реАрди рдХреЗ рдиреАрдЪреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

<Shell>
     <Shell.AppBar
          Placement="Bottom">
         <AppBar />
     </Shell.AppBar>
    ...
</Shell>

appbar-bottom

рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

XAML рд╢реИрд▓рд┐рдпреЛрдВ рдпрд╛ CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреИрдм рд╕рд╛рдордЧреНрд░реА, рдЯреИрдм рдкрдЯреНрдЯреА, рдЯреИрдм рдЖрдЗрдЯрдо рдЖрджрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХреНрд╕рдПрдПрдордПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

<Style
    x:Key="AppBarStyle"
    TargetType="AppBar">
    <Setter
        Property="BarHeight"
        Value="120" />
    <Setter
        Property="BarBackgroundColor"
        Value="Transparent" />
</Style>

рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

.appBarStyle {
  background: transparent;
  height: 120px;
}

рдХрдард┐рдирд╛рдИ: рдордзреНрдпрдо

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА

https://github.com/xamarin/Xamarin.Forms/issues/10774 рдкрд░ рдЖрдзрд╛рд░рд┐рдд

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

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

рдзрдиреНрдпрд╡рд╛рдж!!

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

рдзрдиреНрдпрд╡рд╛рдж!!

рд╣рд╛рдВ, рдореИрдВ рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕реЗ рдРрдкреНрд╕ рд╣реИрдВ рдЬреЛ рд╢реЗрд▓ рд╕реЗ рдкрд╣рд▓реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╢реЗрд▓ рдореЗрдВ рдмрджрд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛

рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдордЧреНрд░ рдкреНрд░рдкрддреНрд░ рджреГрд╢реНрдп рд╣реИ

рдЖрдк рдЗрд╕реЗ рд╕рдВрдЧреНрд░рд╣ рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ AppBars

рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рдХрд╛рд░ рдХреНрдпреЛрдВ рди рджреЗрдЦреЗрдВ: рдмреИрдХрдмрдЯрди рдЯрд╛рдЗрдЯрд▓?

рдпреЗ рдЕрднреА рдХреЗ рд▓рд┐рдП Xamarin рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЯреВрд▓рдХрд┐рдЯ рдореЗрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ

@PureWeen рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛? рдореБрдЭреЗ Xamarin рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЯреВрд▓рдХрд┐рдЯ рд░реЗрдкреЛ рдореЗрдВ AppBar рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

UriHerrera picture UriHerrera  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Joshua-Ashton picture Joshua-Ashton  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PureWeen picture PureWeen  ┬╖  21рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PureWeen picture PureWeen  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ