Xamarin.forms: Problème de mise en page d'étiquette dans ListView à Forms3.5

Créé le 17 févr. 2019  ·  3Commentaires  ·  Source: xamarin/Xamarin.Forms

Meilleures pratiques de rapport de bogue : https://github.com/xamarin/Xamarin.Forms/wiki/Submitting-Issues

La description

L'étiquette dans ListView ne peut pas être mise en page correctement sur Android. iOS est ok.

Étapes pour reproduire

  1. le xaml comme ça
    ```




    Marge="20,0,0,0"
    ShowLabel="true"
    Checked="{Contrôle de liaison}"
    OnImg="checked_checkbox.png"
    OffImg="unchecked_checkbox.png"
    Text="{Mot de liaison}" />



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);

    }

```

Comportement prévisible

le texte de l'étiquette peut être affiché normalement.

Comportement réel

le texte d'une étiquette ne peut pas être vu lorsque vous faites défiler ListView vers le haut ou vers le bas.

Informations de base

  • Version avec problème :

=== Communauté Visual Studio 2017 pour Mac ===

Version 7.7.4 (version 1)
UUID d'installation : 4e60959a-758f-48ce-ae6d-26e15276ea83
GTK+ 2.24.23 (thème Raleigh)
Xamarin.Mac 4.4.1.178 (maître / eeaeb7e6)

Package version: 516000221

=== MDK Mono Framework ===

Durée:
Mono 5.16.0.221 (2018-06/b63e5378e38) (64 bits)
Version du paquet : 516000221

=== NuGet ===

Version : 4.8.0.5385

=== .NET Core ===

Exécution : /usr/local/share/dotnet/dotnet
Versions d'exécution :
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
Versions du SDK :
2.1.504
2.1.503
2.1.302
2.1.301
2.1.4
2.0.0
1.0.3
Kits de développement logiciel MSBuild : /Library/Frameworks/Mono.framework/Versions/5.16.0/lib/mono/msbuild/15.0/bin/Sdks

=== Xamarin.Mac ===

Version : 5.2.1.15 (Communauté Visual Studio)
Hachage : d60abd198
Branche:
Date de création : 2019-02-01 12:23:30-0500

=== Xamarin.Android ===

Version : 9.1.8.0 (Communauté Visual Studio)
SDK Android : /Users/huangboru/myfile/sdk
Versions Android prises en charge :
4.2 (API niveau 17)
4.4 (API niveau 19)
5.1 (API niveau 22)
6.0 (API niveau 23)
7.0 (API niveau 24)
7.1 (API niveau 25)
8.0 (API niveau 26)
8.1 (API niveau 27)

Version des outils SDK : 26.1.1
Version des outils de la plate-forme SDK : 28.0.0
Version des outils de création de SDK : 28.0.3

=== Microsoft Mobile OpenJDK ===

SDK Java : /Users/huangboru/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.9
version openjdk "1.8.0-9"
Environnement d'exécution OpenJDK (build 1.8.0-9-microsoft-b00)
VM serveur OpenJDK 64 bits (build 25.71-b00, mode mixte)

Code EPL Android Designer disponible ici :
https://github.com/xamarin/AndroidDesigner.EPL

=== Informations sur la construction ===

Numéro de version : 707040001
Révision Git : 2a4679454f31c8bb887cfd181ea133c9149d3cad
Date de construction : 2019-01-30 16:18:21+00
Branche de construction : version-7.7.4
Extensions Xamarin : c8b4305fd4c60b9c25947072eb150fdc3a5aa2b5

Captures d'écran


droid-mainactivity-02172019185656

J'ai défini le backgroundColor de Label, il semble que le problème soit dû à une mauvaise mise en page de Label .

droid-mainactivity-02172019193816

Lien de reproduction

Veuillez télécharger ou fournir un lien vers un cas de reproduction
listview Android needs-info ❓ needs-repro ❔ bug

Commentaire le plus utile

Je mets à jour la version de Xamarin.Forms vers 3.5.169047, le problème a disparu.

Tous les 3 commentaires

@suihanhbr Pourriez-vous s'il vous plaît joindre un exemple de projet qui montre ce problème ? Merci!

voici l'échantillon :
TestLabelProblem.zip

c'est la première interface utilisateur. Il n'affiche pas le texte normalement.
screenshot_2019-02-20-10-10-28-963_com suihan testlabelproblem

si je fais défiler le listView plusieurs fois rapidement, ce sera comme ça :

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

@samhouts

Je mets à jour la version de Xamarin.Forms vers 3.5.169047, le problème a disparu.

Cette page vous a été utile?
0 / 5 - 0 notes