【问题标题】:Xamarin - blinking when i replace image sourceXamarin - 当我替换图像源时闪烁
【发布时间】:2015-11-20 02:01:09
【问题描述】:

我正在使用 xamarin 表单并尝试创建导航菜单。单击单元格时,我需要设置新图像。更换图片时,我有一些闪烁。

我创建图像:

var image = new Image { Source = "Image.png"; }

我将它添加到我的网格中

    var profileTapRecognizer = new TapGestureRecognizer();
                profileTapRecognizer.Tapped += (sender, e) =>
                {
                    ItemClicked(sender as ITaggedCell);
                };

        image.GestureRecognizers.Add(profileTapRecognizer);

    grid.Children.Add(image, i, 0);

在 ItemClicked 中,我更改源并在设置新图像之前闪烁:

image.Source = "NewImage.png" 

我试过了

image.BatchBegin() 
image.Source = "NewImage.png" 
image.BatchCommit() 

这样How to change Image Source while clicking on the ListView in xamarin.forms?

改变图像的最佳方法是什么?

【问题讨论】:

    标签: c# android xamarin xamarin.forms


    【解决方案1】:

    不是直接的解决方案,但如果您要更改图像,为什么不制作动画?那甚至看起来不错!

    先淡出,再替换,再淡入!

    await image.FadeTo(0, 250);
    image.Source = "NewImage.png";
    await image.FadeTo(1, 250);
    

    【讨论】:

      【解决方案2】:

      我找到了解决方案 - 添加两个图像并将不透明度更改为 0/1

      【讨论】:

      • 非常感谢,这是一个好主意,将多个图像叠加在一起,而不是更改可见性或源更改不透明度,没有任何闪烁。谢谢
      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 2015-09-19
      • 1970-01-01
      • 2018-10-22
      • 2014-03-15
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      相关资源
      最近更新 更多