Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] Buttons, with non-zero Margin, in Panel are resized if clicked #5757

Closed
3 of 24 tasks
baskren opened this issue Apr 15, 2021 · 8 comments
Closed
3 of 24 tasks
Labels
kind/bug Something isn't working platform/android 🤖 Categorizes an issue or PR as relevant to the Android platform project/layout 🧱 Categorizes an issue or PR as relevant to layouting and containers (Measure/Arrange, Collections,..) triage/needs-information Indicates an issue needs more information in order to work on it. triage/potentially-fixed Categorizes an issue as potentially fixed by some unlinked PR, fix needs to be verified

Comments

@baskren
Copy link
Contributor

baskren commented Apr 15, 2021

Current behavior

Android only: All Buttons, with non-zero Margin, in a Panel are resized if one of them are clicked

Expected behavior

Buttons should remain the same size as they were during the Panel's Measure / Arrange cycle.

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

PROJECT: https://github.com/baskren/UnoAndroidPanelIssue01

STEPS TO REPRODUCE:

  1. Build + run project in Android.
  2. Observe size and position of buttons in the Yellow Panel (bottom 40px of displayed page).
  3. Tap one of the buttons in the Yellow Panel.
  4. Observe change in size and position of all buttons in Yellow Panel.
  5. Repeat for Pink Panel

Workaround

Set the Margin to zero for all Buttons and implement Padding/Spacing in the Panel.

Environment

  • All Android versions;
Click to expand Visual Studio Environment
Microsoft Visual Studio Community 2019
Version 16.9.3
VisualStudio.16.Release/16.9.3+31129.286
Microsoft .NET Framework
Version 4.8.04084

Installed Version: Community

Visual C++ 2019   00435-60000-00000-AA619
Microsoft Visual C++ 2019

.NET Core Debugging with WSL 2   1.0
.NET Core Debugging with WSL 2

ADL Tools Service Provider   1.0
This package contains services used by Data Lake tools

ASA Service Provider   1.0

ASP.NET and Web Tools 2019   16.9.693.2781
ASP.NET and Web Tools 2019

ASP.NET Core Razor Language Services   16.1.0.2112521+5741df381174d72f08e3632bb99f52e8635b6a1a
Provides languages services for ASP.NET Core Razor.

ASP.NET Web Frameworks and Tools 2019   16.9.693.2781
For additional information, visit https://www.asp.net/

Azure App Service Tools v3.0.0   16.9.693.2781
Azure App Service Tools v3.0.0

Azure Data Lake Node   1.0
This package contains the Data Lake integration nodes for Server Explorer.

Azure Data Lake Tools for Visual Studio   2.6.3000.0
Microsoft Azure Data Lake Tools for Visual Studio

Azure Functions and Web Jobs Tools   16.9.693.2781
Azure Functions and Web Jobs Tools

Azure Stream Analytics Tools for Visual Studio   2.6.3000.0
Microsoft Azure Stream Analytics Tools for Visual Studio

BruteCleanCommand Extension   1.0
BruteCleanCommand Visual Studio Extension Detailed Info

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.

CleanBinAndObjCommand Extension   1.1.1
CleanBinAndObjCommand Visual Studio Extension Detailed Info

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Dotfuscator Community Edition   5.42.0.9514-e0e25f754
PreEmptive Protection - Dotfuscator CE

Extensibility Message Bus   1.2.6 (master@34d6af2)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

Fabric.DiagnosticEvents   1.0
Fabric Diagnostic Events

IncrediBuild Build Acceleration   1.5.0.13
IncrediBuild effectively reduces compilation and development times by up to 90%.

IntelliCode Extension   1.0
IntelliCode Visual Studio Extension Detailed Info

Linux Core Dump Debugging   1.0.9.31112
Enables debugging of Linux core dumps.

Microsoft Azure HDInsight Azure Node   2.6.3000.0
HDInsight Node under Azure Node

Microsoft Azure Hive Query Language Service   2.6.3000.0
Language service for Hive query

Microsoft Azure Service Fabric Tools for Visual Studio   16.0
Microsoft Azure Service Fabric Tools for Visual Studio

Microsoft Azure Stream Analytics Language Service   2.6.3000.0
Language service for Azure Stream Analytics

Microsoft Azure Stream Analytics Node   1.0
Azure Stream Analytics Node under Azure Node

Microsoft Azure Tools   2.9
Microsoft Azure Tools for Microsoft Visual Studio 2019 - v2.9.40218.1

Microsoft Continuous Delivery Tools for Visual Studio   0.4
Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft Library Manager   2.1.113+g422d40002e.RR
Install client-side libraries easily to any web project

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 Tools for Containers   1.1
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.

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.

Node.js Tools   1.5.21130.2 Commit Hash:dacc0e71a5e060cdcab466a301cacea359c1b6da
Adds support for developing and debugging Node.js apps in 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

SQL Server Data Tools   16.0.62103.10080
Microsoft SQL Server Data Tools

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.

ToolWindowHostedEditor   1.0
Hosting json editor into a tool window

TypeScript Tools   16.0.30201.2001
TypeScript Tools for Microsoft Visual Studio

UnoPlatformPackage Extension   1.0
UnoPlatformPackage Visual Studio Extension Detailed Info

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 C++ for Cross Platform Mobile Development (iOS)   16.0.31004.209
Visual C++ for Cross Platform Mobile Development (iOS)

Visual C++ for Linux Development   1.0.9.31112
Visual C++ for Linux Development

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 Container Tools Extensions   1.0
View, manage, and diagnose containers within Visual Studio.

Visual Studio Tools for CMake   1.0
Visual Studio Tools for CMake

Visual Studio Tools for Containers   1.0
Visual Studio Tools for Containers

Visual Studio Tools for Kubernetes   1.0
Visual Studio Tools for Kubernetes

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.316 (remotes/origin/d16-9@fdbf64026)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates   16.9.68 (8e9b569)
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.

Nuget Package:

  • Uno.UI / Uno.UI.WebAssembly / Uno.UI.Skia
  • Uno.WinUI / Uno.WinUI.WebAssembly / Uno.WinUI.Skia
  • Uno.SourceGenerationTasks
  • Uno.UI.RemoteControl / Uno.WinUI.RemoteControl
  • Other:

Nuget Package Version(s):

  • "Uno.UI" Version="3.6.6"
  • "Uno.UI.RemoteControl" Version="3.6.6"
  • "Uno.UniversalImageLoader" Version="1.9.33"
  • "Microsoft.Extensions.Logging.Console" Version="5.0.0"
  • "Microsoft.Extensions.Logging" Version="5.0.0"

Affected platform(s):

  • iOS
  • Android
  • WebAssembly
  • WebAssembly renderers for Xamarin.Forms
  • macOS
  • Skia
    • WPF
    • GTK (Linux)
    • Tizen
  • Windows
  • Build tasks
  • Solution Templates

IDE:

  • Visual Studio 2017 (version: )
  • Visual Studio 2019 (version: )
  • Visual Studio for Mac (version: )
  • Rider Windows (version: )
  • Rider macOS (version: )
  • Visual Studio Code (version: )

Relevant plugins:

  • Resharper (version: )

Anything else we need to know?

@baskren baskren added difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. kind/bug Something isn't working triage/untriaged Indicates an issue requires triaging or verification labels Apr 15, 2021
@jeromelaban
Copy link
Member

Thanks for the report. Could you make a video of issue, so we're able to observe the issue as well ?

@baskren
Copy link
Contributor Author

baskren commented Apr 15, 2021

VIDEOS:

Correct behavior (UWP, WASM, Skia.Wpf)

Panel01.2021-04-15.11-24-57_Trim.mp4

Android behavior

Android.Emulator.-.pixel_2_pie_9_0_-_api_28_5554.2021-04-15.11-27-46_Trim.mp4

@jeromelaban
Copy link
Member

Thanks!

/cc @carldebilly

@baskren baskren changed the title Android: Buttons in Panel are resized if clicked Android: Buttons, w/ non-zero Margin, in Panel are resized if clicked Apr 16, 2021
@baskren
Copy link
Contributor Author

baskren commented Apr 16, 2021

Note that original problem title and text has been edited to note that issue only applies to buttons with non-zero Margin.

@carldebilly carldebilly added difficulty/challenging 🤯 Categorizes an issue for which the difficulty level is reachable with internals understanding project/layout 🧱 Categorizes an issue or PR as relevant to layouting and containers (Measure/Arrange, Collections,..) platform/android 🤖 Categorizes an issue or PR as relevant to the Android platform and removed difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. triage/untriaged Indicates an issue requires triaging or verification labels May 7, 2021
@carldebilly
Copy link
Member

The <Grid /> rewrite didn't fix this problem. And it's only present on Android. That's very odd.

@MartinZikmund MartinZikmund changed the title Android: Buttons, w/ non-zero Margin, in Panel are resized if clicked [Android] Buttons, with non-zero Margin, in Panel are resized if clicked Jun 2, 2023
@MartinZikmund
Copy link
Member

@baskren any chance you still have the issue repro available? Otherwise we cannot reproduce this unfortunately 😢 . There were changes to measure/arrange in Grid recently, so this issue should very likely be fixed

@MartinZikmund MartinZikmund added triage/potentially-fixed Categorizes an issue as potentially fixed by some unlinked PR, fix needs to be verified triage/needs-information Indicates an issue needs more information in order to work on it. and removed difficulty/challenging 🤯 Categorizes an issue for which the difficulty level is reachable with internals understanding labels May 23, 2024
@agneszitte
Copy link
Contributor

agneszitte commented May 24, 2024

@MartinZikmund, @jeromelaban, @Youssef1313
Maybe #16595 is a similar issue?

@MartinZikmund
Copy link
Member

MartinZikmund commented May 27, 2024

@agneszitte could be, but impossible to repro without sample unfortunately. I think for now we can close this issue, @baskren feel free to reopen if a repro is available 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working platform/android 🤖 Categorizes an issue or PR as relevant to the Android platform project/layout 🧱 Categorizes an issue or PR as relevant to layouting and containers (Measure/Arrange, Collections,..) triage/needs-information Indicates an issue needs more information in order to work on it. triage/potentially-fixed Categorizes an issue as potentially fixed by some unlinked PR, fix needs to be verified
Projects
None yet
Development

No branches or pull requests

5 participants