My team is experiencing a display issue when using a huawei mate20 running Android Pie. To give you guys an idea of what we implemented, we generally have an xaml with 4 versions of a dashboard that is controlled by an isVisible property. The markup are as follows:
-->relativeLayout
---->Grid isInvisible="" RelativeLayout.WidthConstraint ="{ConstraintExpression Type=RelativeToParent,Property=Width,Factor=1}" RelativeLayout.HeightConstraint ="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
------>Grid Row Definitions
------>Grid Column Definitions
------>Grid Children
-------->ContentView Grid.Row, Grid.Column
---------->StackLayout
------------>Frame
-------------->StackLayout
---------------->Image (Menu Icon Image)
-------------->Label (Menu Icon Label)
-------->ContentView (Other Gridrow and Column)
---->Other Grids
We are using this to control its visibility: IsVisible="{Binding Source='FullMenu', Converter={StaticResource homeTemplateConverter}}" There are 3 other grids having different configurations.
By some weird reason, the supposed invisible grids take up space and are blocking the grid which is supposedly showing. We've proved this by removing the other grid markup code which are supposedly invisible
relativeLayout
1. grid isInvisible <-- removed
2. grid isInVisible <-- removed
3. grid isInvisible
4. grid isInVisible
the 3rd grid was rendered properly as expected. This problem was only observed in a huawei mate20 running on pie, tried it on a galaxy s9 and emulators running on pie and it was ok.