xamarin / Xamarin.Forms

Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
https://aka.ms/xamarin-upgrade
Other
5.63k stars 1.87k forks source link

[Bug] [Android] Not all pages added to TabbedPage show up in "more" #14219

Open tentom opened 3 years ago

tentom commented 3 years ago

Description

When adding multiple pages to a TabbedPage the "more" list shows up after five pages are added (as expected). Adding even more pages works fine until the fills the entire screen. Then adding one more page makes it unreachable with out using swipe navigation from the page before it.

Works as expected on iOS.

My first issue for the xamarin.Forms repo, please let me know if there is something unclear or if more info is needed.

Steps to Reproduce

  1. Add multiple pages to a TabbedPage
  2. Try to reach the last page.

Expected Behavior

The "more" list starts to scroll if the entire screen is full.

Actual Behavior

Last pages in the "more" menu is off screen and unreachable.

Basic Information

Environment

Show/Hide Visual Studio info ``` Microsoft Visual Studio Community 2019 Version 16.9.4 VisualStudio.16.Release/16.9.4+31205.134 Microsoft .NET Framework Version 4.8.04084 Installed Version: Community Visual C++ 2019 00435-60000-00000-AA297 Microsoft Visual C++ 2019 ASP.NET and Web Tools 2019 16.9.693.2781 ASP.NET and Web Tools 2019 Azure App Service Tools v3.0.0 16.9.693.2781 Azure App Service Tools v3.0.0 C# Tools 3.9.0-6.21160.10+59eedc33d35754759994155ea2f4e1012a9951e3 C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used. Common Azure Tools 1.10 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools. Extensibility Message Bus 1.2.6 (master@34d6af2) Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration. IntelliCode Extension 1.0 IntelliCode Visual Studio Extension Detailed Info Microsoft JVM Debugger 1.0 Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines Microsoft MI-Based Debugger 1.0 Provides support for connecting Visual Studio to MI compatible debuggers Microsoft Visual C++ Wizards 1.0 Microsoft Visual C++ Wizards Microsoft Visual Studio VC Package 1.0 Microsoft Visual Studio VC Package Mono Debugging for Visual Studio 16.9.7 (df23ba6) Support for debugging Mono processes with Visual Studio. NuGet Package Manager 5.9.0 NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/ ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio Extension Detailed Info Syncfusion Xamarin Project Templates 13.4.0.53 A multi-project template for building iOS, Android, and Windows apps using Syncfusion Xamarin components. Syncfusion Xamarin Toolbox 16.2.0.19 Syncfusion Essential Studio for Xamarin Toolbox Visual Studio extension. SyncfusionMenu Extension 1.0 SyncfusionMenu Visual Studio Extension Detailed Info SyncfusionXamarinMenu Extension 1.0 SyncfusionXamarinMenu Visual Studio Extension Detailed Info Test Adapter for Boost.Test 1.0 Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory. Test Adapter for Google Test 1.0 Enables Visual Studio's testing tools with unit tests written for Google Test. The use terms and Third Party Notices are available in the extension installation directory. TypeScript Tools 16.0.30201.2001 TypeScript Tools for Microsoft Visual Studio Visual Basic Tools 3.9.0-6.21160.10+59eedc33d35754759994155ea2f4e1012a9951e3 Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used. Visual C++ for Cross Platform Mobile Development (Android) 16.0.31025.194 Visual C++ for Cross Platform Mobile Development (Android) Visual F# Tools 16.9.0-beta.21102.9+7ce7132f1459095e635194d09d6f73265352029a Microsoft Visual F# Tools Visual Studio Code Debug Adapter Host Package 1.0 Interop layer for hosting Visual Studio Code debug adapters in Visual Studio Visual Studio Tools for CMake 1.0 Visual Studio Tools for CMake VisualStudio.DeviceLog 1.0 Information about my package VisualStudio.Foo 1.0 Information about my package VisualStudio.Mac 1.0 Mac Extension for Visual Studio Xamarin 16.9.000.273 (d16-9@1bba9e0) Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android. Xamarin Designer 16.9.0.318 (remotes/origin/7b35adcdd1b204bbdcb279e0f029d151a20a4bf3@7b35adcdd) Visual Studio extension to enable Xamarin Designer tools in Visual Studio. Xamarin Templates 16.9.72 (426ebf6) Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms. Xamarin.Android SDK 11.2.2.1 (d16-9/877f572) Xamarin.Android Reference Assemblies and MSBuild support. Mono: 5e9cb6d Java.Interop: xamarin/java.interop/d16-9@54f8c24 ProGuard: Guardsquare/proguard/v7.0.1@912d149 SQLite: xamarin/sqlite/3.34.1@daff8f4 Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-9@d210f11 Xamarin.iOS and Xamarin.Mac SDK 14.14.2.5 (3836759d4) Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support. ```

Screenshots

Tab navigation scrolled as far as it goes and "About8" and "Browse8" is impossible to reach. Screenshot_20210428-000116

Reproduction Link

https://github.com/tentom/TabbedPageMinimalBugExample

Workaround

No known workaround other than make users use swipe avigation to reach the page.

rachelkang commented 3 years ago

Hi, @tentom - thanks for submitting this issue. Have you been able to repro on any other Android devices? I unfortunately don't have a Sony Xperia to experiment with, and wasn't able to repro on my Pixel 4A :/

https://user-images.githubusercontent.com/21988533/116716382-af427c00-a9a5-11eb-9c5d-a682a90de54d.mp4

tentom commented 3 years ago

Hi, sorry for not responding earlier, no sadly I do not have a second Android device around.

It seem like you have a screen that are taller than mine, what happens if we add more menu items so it will fill the screen?

I have updated the source repo with 30 entries instead of the 16 that was when you tried it.

I also added a screen recording:

https://user-images.githubusercontent.com/8311708/120987836-46a5a680-c77e-11eb-9460-6efe9953deeb.mp4

tentom commented 3 years ago

Updated zip with 30 entries to the tab.

TabbedPageMinimalBugExample.zip

tentom commented 3 years ago

@rachelkang
Hi again, my old device hade some issues so I bought a new device in anticipation that the Sony Xperia XA2 would die. The new device is a Sony XQ-BT52 (Sony experia 10 III)

I have also updated xamarin.Forms to 5.0.0.2083 and it have the same behavior. Targeting Android 11

https://user-images.githubusercontent.com/8311708/131120831-ae82f4ab-93ee-413d-9009-6946f4ac0727.mp4

tentom commented 2 years ago

@rachelkang Have you tried the Latest project zip where there are 30 entries, as in the first example all 8 entries did fit on the screen on the android device you used and then the issue is not apparent.