首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xamarin form:如何在异步任务中即时显示活动指示器?

在Xamarin.Forms中,可以使用ActivityIndicator控件来显示活动指示器。要在异步任务中即时显示活动指示器,可以按照以下步骤进行操作:

  1. 在XAML文件中,添加一个ActivityIndicator控件和一个布局容器(例如StackLayout)来包含其他控件。设置ActivityIndicator的IsRunning属性为false,将其隐藏起来。
代码语言:txt
复制
<StackLayout>
    <ActivityIndicator x:Name="activityIndicator" IsRunning="False" />
    <!-- 其他控件 -->
</StackLayout>
  1. 在异步任务的开始处,将ActivityIndicator的IsRunning属性设置为true,以显示活动指示器。
代码语言:txt
复制
activityIndicator.IsRunning = true;
  1. 在异步任务的结束处,将ActivityIndicator的IsRunning属性设置为false,以隐藏活动指示器。
代码语言:txt
复制
activityIndicator.IsRunning = false;

完整的示例代码如下:

代码语言:txt
复制
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="YourNamespace.YourPage">
    <StackLayout>
        <ActivityIndicator x:Name="activityIndicator" IsRunning="False" />
        <!-- 其他控件 -->
    </StackLayout>
</ContentPage>
代码语言:txt
复制
using Xamarin.Forms;

namespace YourNamespace
{
    public partial class YourPage : ContentPage
    {
        public YourPage()
        {
            InitializeComponent();
        }

        private async void YourButton_Clicked(object sender, EventArgs e)
        {
            activityIndicator.IsRunning = true;

            // 异步任务
            await YourAsyncTask();

            activityIndicator.IsRunning = false;
        }

        private async Task YourAsyncTask()
        {
            // 异步任务的代码
            await Task.Delay(2000); // 模拟耗时操作
        }
    }
}

这样,在异步任务执行期间,活动指示器将显示出来,任务完成后将隐藏。这种方式可以提供用户反馈,告知任务正在进行中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

活动指示器表明任务或进程正在进行,如下图所示。...API注释 想要了解如何在代码定义活动指示器,可以参考UIActivityIndicatorView Class Reference....活动指示器: 当任务进行和加载时旋转,任务完成后自动消失 不支持用户交互行为 在工具栏或主视图中使用活动指示器来告知用户任务或加载正在进行,但并不提示该过程何时会结束。 不要使用静止的活动指示器。...用活动指示器来让用户知道进程仍在进行。有些时候,告诉用户进程没有停止比告诉他们何时完成更加重要。 设计一个与应用的风格协调的活动指示器。可以的话,让活动指示器的尺寸和颜色与它所在的背景协调。...网络活动指示器: 出现在状态栏,当网络活动正在进行时它会旋转,在活动停止时它则消失 不支持用户交互行为 当你的app正在链接网络,而这个连接过程将会持续好几秒的时候,你可以通过网络活动指示器来给用户以反馈

13.2K30

Spread for Windows Forms高级主题(3)---单元格的编辑模式

当一个单元格处于编辑模式时,活动单元格将显示一个I型光标,如下图所示。当该单元格不处于编辑模式时,活动单元格将显示一个焦点长方形,如下图所示。...为单元格自定义焦点指示器 聚焦框向终端用户显示了被选中的单元格和活动的单元格。默认情况下,当单元格被选中时,该单元格有一个纯色聚焦框,如下图所示。...你也可以改变活动表头的选定颜色。 下表总结了聚焦指示器的几种类型以及与之相对应的类。...自定义单元格备注行为 你可以允许备注保持显示的状态,就好像它们是即时贴一样。在这种情况下,他们出现在一个单元格旁边的矩形框,以一条可伸缩的线与要说明的单元格相连,以便备注可以被用户方便地移动。...单元格备注指示器上的即时贴延伸出的线可以适应备注的任何位置。 你可以允许用户编辑单元格备注,如果备注始终显示

1.8K60

.NET周报【10月第1期 2022-10-11】

在 Windows 虚拟机托管了一个 WCF 的 SOAP 服务和一个.NET 框架 4.6。 文章介绍了转移到新的.NET 平台的原因。 原因主要有以下五点: 跨平台,使用容器。...卓越的工具, CLI 工具、SDK 风格的项目和消除绑定重定向等 迁移过程,库的顺序是".NET Framwork 4.6→....-6/ 关于如何在.NET 6 Microsoft.Extensions.Configuration 为强类型的配置对象添加验证的文章。...(安卓) https://zenn.dev/test_myname/articles/d982b67cf0615f 关于如何在.NET MAUI 显示/隐藏 Android 屏幕键盘的文章。...dev.to/dotnet/blazor-wasm-custom-404-page-on-gh-pages-1o99 当 Blazor WebAssembly 托管在 GitHub Pages 上时,如何在访问不存在的页面时显示一个自定义错误页面的文章

5K20

dotnet Multi-platform App UI 多平台应用 UI 框架简介

在 .NET 5 微软统一了整个 .NET 平台,将 .NET Core 和 Mono 以及基于 Mono 的 Xamarin 放在一起,于是就可以使用相同的一个 BCL 基础库和 SDK 工具链 当咱在考虑如何在...很多年以来,都有很多商业公司,这个链接 https://dotnet.microsoft.com/apps/xamarin/customers 列举出来的公司,都在使用 Xamarin 用 .NET...无论是使用哪个版本的 IDE Visual Studio 2019,Visual Studio for Mac甚至是 Visual Studio Code 工具,.NET MAUI 将在所有这些版本可用...", () => _count.Value ++ ) }; 上面代码和官方的有些不同,不过德熙认为官方的代码也许不对 这种模式非常适合热重载,如下面所示,它具有从 C# 即时热重载新增样式...此后的所有工作都将转移到.NET 6 Xamarin.Forms将于今年晚些时候发布新的主版本,并继续在2021年11月通过.NET 6 GA每6周发布次要版本和服务版本。

5.2K20

Xamarin.Forms读取并展示Android和iOS通讯录 - TerminalMACS客户端

获取和展示Android和iOS的通讯录信息,下面是最终效果,由于使用的是真实手机,所以联系人姓名及电话号码打码显示。...taskCompletionSource.TrySetCanceled(); }); _isLoading = true; var task = LoadContactsAsync(); // 等待两个任务的第一个任务完成...我们请求了多个通讯录权限,因此需要检查相关的所有权限 if (PermissionUtil.VerifyPermissions(grantResults)) { // 已授予所有必需的权限,显示联系人片段...taskCompletionSource.TrySetCanceled(); }); _isLoading = true; var task = LoadContactsAsync(); // 等待两个任务的第一个任务完成...四、参考资料 Getting phone contacts in Xamarin Forms:https://www.xamboy.com/2019/10/10/getting-phone-contacts-in-xamarin-forms

4K20

译 | .NET Multi-platform App UI 多平台应用 UI 框架简介

在 .NET 5 微软统一了整个 .NET 平台,将 .NET Core 和 Mono 以及基于 Mono 的 Xamarin 放在一起,于是就可以使用相同的一个 BCL 基础库和 SDK 工具链 当咱在考虑如何在...很多年以来,都有很多商业公司,这个链接 https://dotnet.microsoft.com/apps/xamarin/customers 列举出来的公司,都在使用 Xamarin 用 .NET...无论是使用哪个版本的 IDE Visual Studio 2019,Visual Studio for Mac甚至是 Visual Studio Code 工具,.NET MAUI 将在所有这些版本可用...", () => _count.Value ++ ) }; 上面代码和官方的有些不同,不过德熙认为官方的代码也许不对 这种模式非常适合热重载,如下面所示,它具有从 C# 即时热重载新增样式...此后的所有工作都将转移到.NET 6 Xamarin.Forms将于今年晚些时候发布新的主版本,并继续在2021年11月通过.NET 6 GA每6周发布次要版本和服务版本。

4.7K10

Microsoft ASP.NET SignalR

SignalR类似与JavaScript实时框架,Socket.IO。SignalR能够完成客户端向服务器的异步通信,并同时支持服务器向浏览器客户端推送事件。...SignalR显示已经可在单台机器上扩展至上万个连接,同时可以通过service bus和redis 以及sql server 实现可扩展的集群部署,具体参看Microsoft ASP.NET SignalR...the Package Manager Console PM> Install-Package Microsoft.AspNet.SignalR ASP.NET SignalR 目前还在持续不断更新完善,...Time Commenting using SignalR and XSLT 基于SignalR的超线程上载器 Asp.Net SignalR Chat Room (原创)利用SignalR实现IOS即时通讯...(A篇服务端) 使用SignalR实时显示淘宝买家信誉及差评信息 [Xamarin] iOS 與Android結合SignalR SignalR -- server push 利器 http://www.codeproject.com

1.7K90

C# WPF MVVM开发框架Caliburn.Micro IResult和协同程序⑥

协同程序非常适合实现更熟悉的程序组件,协作任务、迭代器、无限列表和管道。 在计算机科学,协同程序是一种程序组件,它泛化子例程以允许多个入口点在某些位置暂停和恢复执行。...最后,它必须在模式对话框显示结果,并用另一个异步任务响应用户的对话框选择。使用标准的事件驱动异步模型实现这一点并不是一种愉快的体验。然而,这是一个使用协同程序来完成的简单任务。...首先,我们可能希望显示一个“加载”指示器,然后异步下载外部包,接下来隐藏“加载”指示器,最后导航到动态模块内的特定屏幕。...第一个是显示“下载”指示器的结果,第二个是异步下载xap,第三个是隐藏“下载”消息,第四个是显示下载的xap的新屏幕。在每个yield语句之后,编译器将“暂停”此方法的执行,直到特定任务完成。...只需在“Execute”方法编写代码,并确保在完成时引发“Completed”事件,无论是同步任务还是异步任务

46420

MAUI 移植 Xamarin.Forms 自定义渲染器

尽管MAUI中使用了新的渲染模式, 但是仍然Xamarin的支持Render渲染器, 这意味着如果你的项目是从Xamarin移植到MAUI当中, 大部分代码能够可以重用, 本篇文章介绍如何将Xamarin.../> 第四步:启动Android项目,预览效果,如下所示: 说明:通过上面几步, 我们轻松的完成了在Xamarin当中自定义渲染器并且显示在模拟器当中..., 接下来, 主要的任务是将Xamarin现有的 自定义渲染器移植到MAUI项目中, 那么下面接着继续表演。...第二步: 然后, 我们把Xamarin创建的MyButton与MyButtonRender直接复制到MAUI的项目中, 如下所示: MyButtonRender类修改如下: using App2;...下一篇, 主要给大家介绍, 如何在MAUI当中使用新的Handler体系来实现自定义平台控件。

2.5K20

C#-Xamarin的Android项目开发(一)——创建项目

创建项目 使用Xamarin开发安卓项目,首先需要安装VS2017以上版本。因为VS2017以上的版本,可以直接创建Xamarin项目。...可以看到我们在设置内容视图的时候,去资源里找了一个页面;也就是说,在Android,视图是倒装的,现有Activity然后由Activity来控制要导入那个页面视图显示。...然后我们封装寻找资源的方法;在Android项目里是由活动调用视图,即先有活动后有视图,所以在活动里找页面的控件也是倒装的,那么这个寻找控件的方法就相对代码会比较多,所以我们简单封装一下。...接下来我们在封装一些跳转活动、创建服务、异步调用等基础方法;BaseActivity代码如下: [Activity(Label = "KibaXamarin_Android")] public class...到此,这个简单的安卓项目已经创建完成了,下一篇文章,将介绍Xamarin如何使用安卓控件。

2.9K10

是时候开始用C#快速开发移动应用了

从2015年接触Xamarin到至今已经2个年头,我对Xamarin的技能没有长进多少,但它却已经足够成熟到在跨平台移动开发工具占有一席之地。...在扫了一些资料之后,突然发现国外有很多移动端的应用已经是用Xamarin开发,Telerik还有专门的团队来开发Xamarin UI 库,这再次激发起了我的兴趣!...我们主要看一下C#如何在ViewPager里面放视图同时与TabLayout关联起来。...nav_header其实很简单用了一个来显示图片,以及一个来显示上面图里面的UserName。...Xamarin为我们提供了一种简单、高效的方式来开发强大的、原生般体验的APP。结合C#优雅的语法和宇宙最强大的IDE,这个事情也许值得一试。

2.5K60

Xamarin 学习笔记 - Page(页面)

一个页面代表Windows的一个视图控制器,一个Windows的一个页面,就像Android上的一个Activity,但不是一个活动的Activity。”...如果我们希望在一个按钮动作事件跳转到另一个页面,我们使用以下代码: Navigation.PushAsync(new AboutPage()) 或者该方法的异步版本: Navigation.PushModalAsync...,它类似于Web或Pivot控件的Tab,允许显示包含多个选项卡的页面。...主记录页面将包含菜单列表,详细信息页面将显示详细信息并将链接返回主记录页面,想法很简单,如果你有任何按钮或选项在菜单显示它但你想在一开始隐藏它们,以保持良好的UI体验。...现在,在C#部分,我们将定义默认页面,以便在启动应用程序时显示它。

4.6K20

浅析基于用户(角色)侧写的内部威胁检测系统

:用户邮件通讯记录,可以记录邮件头信息,最好记录邮件内容与附件信息; 设备事件:用户使用外设记录,USB设备、打印机、传真机、光盘刻录等; 上述审计数据要求,登录事件、文件事件、网络事件以及部分设备事件一般在现有商业审计软件均有体现...我们必须从原始审计记录解析出用户ID、设备ID、活动名以及活动属性和时间戳等关键元素。...其中活动登录、邮件、读文件等用来标识行为类别,而活动属性则可以对活动进行补充说明,读文件活动的属性即文件名等。 ? 数据解析的第一步是内容解析,内容解析根据实际部署的要求可以选择部分部署。...因此,从“新”与“程度”两个角度出发,可以相应地提取能反映这些方面的特征,: New:用户使用的新设备、角色的新活动、用户在某设备上的新活动等; 程度:用户在每小时、每天时间窗口内设备使用、计算机行为的频率与总数...; 异常总数; 上述13个异常指示器每个均是原始特征的子集,即包含多个原始特征,文件异常指示器就会包含打开异常、写入异常、创建异常等多种具体的特征。

3K60

自己开发一个 vsts agent 的 task

Visual Studio 或者其它任何开发工具也可以 2.下载并安装最新版本 nodejs(https://nodejs.org),如果是直接安装的 vs 这些应该直接都有了 3.建立自己的项目文件夹,...,以及扩展包包含哪些任务 { "manifestVersion": 1, "id": "zou-tasks", "name": "Zou Tasks", "version..." } } ] } 6.以上面扩展信息中所示,扩展包包含了一个叫 extract-xamarin-android-manifest(我的任务) 的插件,...(任务的对应脚本,是在task.json配置的此名称)   - icon.png (任务的图标)   - task.json (任务的配置文件) 其中 task.json 是最主要的文件,我当前的这个扩展是读取...",//任务名称 "friendlyName": "extract xamarin android info",//友好任务名 "description": "extract xamarin android

81010

一键完成对话需求?这款插件你不能错过(Unity3D)

在灵活的、完全可自定义的UI系统显示会话。 定义玩家要完成的任务/任务。 播放镜头序列,相机剪辑和音频。 保存和加载游戏,并在场景更改持久化数据。...任务界面 Quest Log Window 任务日志窗口 任务日志窗口显示了玩家的活动任务和完成任务的详细信息。...这些元素是: 主面板:控制在显示活动任务和完成任务之间的切换。 选择面板:显示任务标题,可选的包含在组文件夹。玩家可以切换跟踪或者选择一个任务来查看它的细节。 细节面板:显示当前选择的任务的细节。...添加一个Quest State Indicator 任务状态指示器给NPC这允许您将gameobject(游戏物体)(world space canvas图像)与数字指示符级别相关联。...当任务状态发生变化时,该组件会更新任务状态指示器的当前指示器级别,并通过UnityEvent(可以在检查器连接)可选地做其他事情。若要配置任务状态监听器,请将元素添加到任务状态指示器级别折叠

4.5K20

WebGL 3D 工业隧道监控实战

前言 监控隧道内的车道堵塞情况、隧道内的车祸现场,在隧道显示当前车祸位置并在隧道口给与提示等等功能都是非常有必要的。...文件中生成的 ht.Node 节点反序列化到数据容器,这样数据容器中就有这个节点了 }); 由于 xhrLoad 函数是一个异步加载函数,所以如果 dm 数据容器反序列化未完成就直接调用了其中的节点...var view = form.getView();//获取表单组件的底层 div document.body.appendChild(view);//将表单组件添加到 body ...([ //向表单添加行 info ], [0.1]);//第二个参数为行宽度,小于1的值为相对值 }); form.addRow([...1') {//改变“车道指示器”的显示图片为红色×,这里我是根据“事故”图标节点的坐标来判断“车道显示器”是在前还是在后的 data.s('shape3d.image

1.2K20

iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

默认的状态栏内容是黑色的,在浅色应用效果出色,而相应的浅色状态栏则更适用于颜色较深的应用。 在适当的时候展示网络活动指示器(network activity indicator)。...这可以提醒用户显示长时间的网络接入状态。更多详情请参考本章第三节控件部分的网络活动指示器部分(Network Activity Indicator)。...使用活动来让用户执行你的应用所提供的服务。请注意,iOS本身提供了若干内置的服务,打印,转发到Twitter,发送信息和Airplay等等,你不需要再额外为这些内置任务创建活动。...如果表格中所有内容都很复杂,我们很难即时地给用户展示任何内容。在这种极端情况下,切勿显示空白的表格,因为这会让用户以为应用挂了。...此时应当在屏幕中央展示一个活动指示器(activity indicator)和一个信息标签(information label),比如“加载…”,让用户知道加载仍然在进行。

10.1K51
领券