Xamarin.forms: Problema de diseño de etiqueta en ListView en Forms3.5

Creado en 17 feb. 2019  ·  3Comentarios  ·  Fuente: xamarin/Xamarin.Forms

Mejores prácticas para informes de errores: https://github.com/xamarin/Xamarin.Forms/wiki/Submitting-Issues

Descripción

La etiqueta en ListView no se puede diseñar correctamente en Android. iOS está bien.

Pasos para reproducir

  1. el xaml así
    ''




    Margen = "20,0,0,0"
    ShowLabel = "verdadero"
    Checked = "{Verificación vinculante}"
    OnImg = "check_checkbox.png"
    OffImg = "unchecked_checkbox.png"
    Text = "{Binding Word}" />



2. the CheckBox code like that:
public CheckBox() {
        this.TapCmd = new Command(() => {
            this.Checked = !this.Checked;

            if (this.CheckChanged != null)
                this.CheckChanged.Invoke(this, new EventArgs());

            if (this.CheckChangedCmd != null && this.CheckChangedCmd.CanExecute(this.Checked))
                this.CheckChangedCmd.Execute(this.Checked);
        });


        StackLayout stackLayout = new StackLayout {
            Orientation = StackOrientation.Horizontal
        };


        TapBinder.SetCmd(stackLayout, this.TapCmd);
        this.Content = stackLayout;

        this.Label = new Label() {
            BackgroundColor = Color.Red,
            BindingContext = this,
            VerticalTextAlignment = TextAlignment.Center,
            HorizontalOptions = LayoutOptions.StartAndExpand
        };
        this.Label.SetBinding(Label.TextProperty, "Text");
        this.Label.SetBinding(Label.IsVisibleProperty, "ShowLabel");

        this.Icon = new Image() {
            WidthRequest = this.Size,
            HeightRequest = this.Size,
            Source = this.OffImg
        };
        stackLayout.Children.Add(this.Icon);
        stackLayout.Children.Add(this.Label);

    }

''

Comportamiento esperado

el texto de la etiqueta se puede mostrar normalmente.

Comportamiento real

el texto de alguna etiqueta no se puede ver cuando se desplaza ListView hacia arriba o hacia abajo.

Información básica

  • Versión con problema:

=== Visual Studio Community 2017 para Mac ===

Versión 7.7.4 (compilación 1)
UUID de instalación: 4e60959a-758f-48ce-ae6d-26e15276ea83
GTK + 2.24.23 (tema de Raleigh)
Xamarin.Mac 4.4.1.178 (maestro / eeaeb7e6)

Package version: 516000221

=== Mono Framework MDK ===

Tiempo de ejecución:
Mono 5.16.0.221 (2018-06 / b63e5378e38) (64 bits)
Versión del paquete: 516000221

=== NuGet ===

Versión: 4.8.0.5385

=== .NET Core ===

Tiempo de ejecución: / usr / local / share / dotnet / dotnet
Versiones en tiempo de ejecución:
2.1.8
2.1.7
2.1.2
2.1.1
2.0.5
2.0.0
1.1.1
1.0.4
SDK: /usr/local/share/dotnet/sdk/2.1.504/Sdks
Versiones SDK:
2.1.504
2.1.503
2.1.302
2.1.301
2.1.4
2.0.0
1.0.3
SDK de MSBuild: /Library/Frameworks/Mono.framework/Versions/5.16.0/lib/mono/msbuild/15.0/bin/Sdks

=== Xamarin.Mac ===

Versión: 5.2.1.15 (Comunidad de Visual Studio)
Hash: d60abd198
Rama:
Fecha de construcción: 2019-02-01 12: 23: 30-0500

=== Xamarin.Android ===

Versión: 9.1.8.0 (Comunidad de Visual Studio)
SDK de Android: / Usuarios / huangboru / myfile / sdk
Versiones de Android compatibles:
4.2 (nivel de API 17)
4.4 (API nivel 19)
5.1 (nivel de API 22)
6.0 (nivel de API 23)
7.0 (API nivel 24)
7.1 (nivel de API 25)
8.0 (API nivel 26)
8.1 (API nivel 27)

Versión de las herramientas del SDK: 26.1.1
Versión de las herramientas de la plataforma SDK: 28.0.0
Versión de las herramientas de compilación del SDK: 28.0.3

=== Microsoft Mobile OpenJDK ===

SDK de Java: /Users/huangboru/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.9
versión de openjdk "1.8.0-9"
Entorno de tiempo de ejecución OpenJDK (compilación 1.8.0-9-microsoft-b00)
VM de servidor OpenJDK de 64 bits (compilación 25.71-b00, modo mixto)

Código EPL de Android Designer disponible aquí:
https://github.com/xamarin/AndroidDesigner.EPL

=== Información de compilación ===

ID de publicación: 707040001
Revisión de Git: 2a4679454f31c8bb887cfd181ea133c9149d3cad
Fecha de construcción: 2019-01-30 16: 18: 21 + 00
Rama de compilación: versión-7.7.4
Extensiones de Xamarin: c8b4305fd4c60b9c25947072eb150fdc3a5aa2b5

Capturas de pantalla


droid-mainactivity-02172019185656

Configuré el backgroundColor de Label, parece que el problema se debe al diseño incorrecto de Label.

droid-mainactivity-02172019193816

Enlace de reproducción

Cargue o proporcione un enlace a un caso de reproducción
listview Android needs-info ❓ needs-repro ❔ bug

Comentario más útil

Actualizo la versión de Xamarin.Forms a 3.5.169047, el problema ha desaparecido.

Todos 3 comentarios

@suihanhbr ¿Podría adjuntar un proyecto de muestra que muestre este problema? ¡Gracias!

aquí está la muestra:
TestLabelProblem.zip

esta es la primera interfaz de usuario. No muestra el texto normalmente.
screenshot_2019-02-20-10-10-28-963_com suihan testlabelproblem

si desplazo el listView muchas veces rápidamente, será así:

screenshot_2019-02-20-10-10-42-816_com suihan testlabelproblem

@samhouts

Actualizo la versión de Xamarin.Forms a 3.5.169047, el problema ha desaparecido.

¿Fue útil esta página
0 / 5 - 0 calificaciones