我正在使用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?
更改图片的最佳方法是什么?
答案 0 :(得分:11)
不是直接解决方案,但如果您要更改图像,为什么不动画?那甚至看起来不错!
首先淡出,然后替换,然后淡入!
await image.FadeTo(0, 250);
image.Source = "NewImage.png";
await image.FadeTo(1, 250);
答案 1 :(得分:1)
我找到了解决方案 - 添加两个图像并将不透明度更改为0/1