Uno: [Droid] Add support for Page.BottomAppBar

Created on 4 Sep 2019  路  5Comments  路  Source: unoplatform/uno

When I try to port app to Uno, BottomAppBar is lost.

Current behavior

No Page.BottomAppBar is visible.

Expected behavior

Should be visible.

How to reproduce it (as minimally and precisely as possible)

I created even new Solution/Project, and changed MainPage.xaml to this:

(Page
x:Class="testAppBar.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:testAppBar"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d")

(Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}")
    (TextBlock Text="Hello, world !" Margin="20" FontSize="30" /)
    (TextBlock Text="zaraz pod tym powinien byc bottomappbar" VerticalAlignment="Bottom" /)
(/Grid)
(Page.BottomAppBar)
    (CommandBar Name="uiCmdBar" ClosedDisplayMode="Compact" Padding="100,100,100,100" MinHeight="200")
        (AppBarButton Icon="Refresh" Label="Wczytaj" /)
        (AppBarButton Icon="Calendar" Label="Kalendarz" )
        (/AppBarButton)
        (AppBarSeparator/)
        (AppBarToggleButton Name="bEvent" Icon="Globe" Label="Wydarzenia"  /)
        (AppBarToggleButton Name="bBirth" Icon="AddFriend" Label="Urodziny" /)
        (AppBarToggleButton Name="bDeath" Icon="BlockContact" Label="Smierci" /)
        (AppBarSeparator/)
        (AppBarButton Icon="Setting" Label="Settings"  /)
        (AppBarButton Icon="Help" Label="Info"  /)
    (/CommandBar)

(/Page.BottomAppBar)

(/Page)

When deployed to tablet (Android 8.1 Go), no BottomAppBar.
And text "just below this should be bottomappbar" is... just above Android system bar.
I didn't test it on another android, as I have no another android device.

Environment

Nuget Package:
Reference Include="Mono.Android"
Reference Include="Mono.Android.Export"
Reference Include="mscorlib"
Reference Include="System"
Reference Include="System.Core"
Reference Include="System.Xml.Linq"
Reference Include="System.Xml"
PackageReference Include="Uno.UI" Version="1.45.0"
PackageReference Include="Uno.UniversalImageLoader" Version="1.9.32"
PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.1"
PackageReference Include="Microsoft.Extensions.Logging.Filter" Version="1.1.1"

Affected platform(s):

  • [ ] iOS
  • [X ] Android
  • [ ] WebAssembly
  • [ ] Windows
  • [ ] Build tasks

Visual Studio

  • [X ] 2017 (version: )
  • [ ] 2019 (version: )
  • [ ] for Mac (version: )

Microsoft Visual Studio Community 2017
Version 15.9.15
VisualStudio.15.Release/15.9.15+28307.812
Microsoft .NET Framework
Version 4.8.03752

Installed Version: Community

Visual C++ 2017
.NET Portability Analyzer 1.1.10808.0
Application Insights Tools for Visual Studio Package 8.14.20131.1
ASP.NET and Web Tools 2017 15.9.04012.0
ASP.NET Core Razor Language Services 15.8.31590
C# Tools 2.10.0-beta2-63501-03+b9fb1610c87cccc8ceb74a770dba261a58e39c4a
Common Azure Tools 1.10
Extensibility Message Bus 1.1.49 (remotes/origin/d15-8@ee674f3)
JavaScript Language Service 2.0
JavaScript Project System 2.0
JavaScript UWP Project System 2.0
Microsoft JVM Debugger 1.0
Microsoft MI-Based Debugger 1.0
Microsoft Visual C++ Wizards 1.0
Microsoft Visual Studio VC Package 1.0
MLGen Package Extension 1.0
Mono Debugging for Visual Studio 4.13.12-pre (9bc9548)
NuGet Package Manager 4.6.0
ProjectServicesPackage Extension 1.0
ResourcePackage Extension 1.0
ResourcePackage Extension 1.0
TypeScript Tools 15.9.30718.2001
Visual Basic Tools 2.10.0-beta2-63501-03+b9fb1610c87cccc8ceb74a770dba261a58e39c4a
Visual F# Tools 10.2 for F# 4.5 15.8.0.0. Commit Hash: 6e26c5bacc8c4201e962f5bdde0a177f82f88691.
Visual Studio Code Debug Adapter Host Package 1.0
Visual Studio Tools for Universal Windows Apps 15.0.28307.718
VisualStudio.Mac 1.0
Xamarin 4.12.3.83 (d15-9@23fa80172)
Xamarin Designer 4.16.30 (e0af99a34)
Xamarin Templates 1.1.128 (6f5ebb2)
Xamarin.Android SDK 9.1.7.0 (HEAD/ba9da7a76)
Xamarin.iOS and Xamarin.Mac SDK 12.4.0.64 (9c8d8e0)

Relevant plugins

  • [ ] Resharper (version: )
kinenhancement platforandroid projecnavigation-lifecycle

Most helpful comment

Here's a sample project that replicates this issue.
PageBottomAppBar.zip

All 5 comments

I make some test. Changed Padding to Margin, run it, and test some values at runtime.
uiCmdBar.Height = 0
uiCmdBar.ActualHeight = 0
uiCmdBar.MinHeight = 0
uiCmdBar.MaxHeight = infinity
uiCmdBar.Visibility = Visible
uiCmdBar.PrimaryCommands = set of 9 elements

Here's a sample project that replicates this issue.
PageBottomAppBar.zip

Why change from "bug" to "enhancement"?
Documentation (https://platform.uno/docs/articles/implemented/windows-ui-xaml-controls-page.html) says that Page.BottomAppBar is supported on all platforms?

The documentation is in error on this one. Those docs are built by a tool which looks for the [NotImplemented] attribute, which is missing from BottomAppBar.

In reality there's no existing code to support this feature, that's why it counts as an enhancement rather than a bug.

The documentation is in error on this one. Those docs are built by a tool which looks for the [NotImplemented] attribute, which is missing from BottomAppBar.

Have opened up https://github.com/unoplatform/uno/issues/1514#issue-491449327 to track this as a super easy issue to introduce new contributors to how the documentation is generated. If this remains open for too long then one of the members of the core team should pick it up and implement.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bricelam picture bricelam  路  3Comments

SuperJMN picture SuperJMN  路  3Comments

MartinZikmund picture MartinZikmund  路  3Comments

JanabiSoft picture JanabiSoft  路  3Comments

jeromelaban picture jeromelaban  路  3Comments