xamarin - 如何在 Xamarin 表单中延迟几秒随机图像并显示到 XAML 中?
问题描述
我想随机图像并在几秒钟内以 xamarin 形式实现延迟。
这是我的 XAML 代码
<Image x:Name="RandomImageList" Source="Album1.jpg">
这是我的 C# 代码
List<string> imageList = new List<string> { "Album1.jpg", "Album2.jpg", "Album3.jpg" };
var random = new Random();
var next = random.Next(4);
var image = imageList[next];
RandomImageList.Source = ImageSource.FromResource(image);
这是我运行此代码期间的结果。
*System.Reflection.TargetInvocationException: '调用的目标已抛出异常。' *
解决方案
这很简单,只要这样做。
public MainPage()
{
InitializeComponent();
List<string> imageList = new List<string> { "add.png", "compare.png", "down.png", "remove.png" };
Device.BeginInvokeOnMainThread(async () =>
{
while (true)
{
var random = new Random();
var next = random.Next(4);
var image = imageList[next];
await Task.Delay(2000);
RandomImage.Source = ImageSource.FromFile(image);
}
});
}
输出:
推荐阅读
- css - 我的离子应用程序在显示背景图像之前延迟
- java - 在 Java 中沿 x 轴和 y 轴将马旋转 10 度角
- gnuplot - gnuplot qt 隐藏工具栏和鼠标标签
- logstash - Logstash 在端口 9600 启动后 2-3 秒关闭
- sql-server - 当 float 数据类型太小时,如何在 SQL Server 中计算 Erlang C 值?
- node.js - SSL_PROTOCOL_ERROR,发布请求,客户端,api,ssl
- javascript - 键上的JS过滤器数组
- flutter - CircularNotchedRectangle 不会使 BottomAppBar 小部件出现缺口
- c++ - C++ 版本的 Python 的“try: except:”
- node.js - 尝试在 Cloud Run 中使用 Google Cloud Storage 时调用者没有权限