AvaloniaUI的学习

相关网站

github:https://github.com/AvaloniaUI/Avalonia

官方中文文档:https://docs.avaloniaui.net/zh-Hans/docs/welcome

IDE选择

  • VS2022
  • VSCode
  • Rider

以上三种我都尝试过,体验Rider最好。VS2022的提示功能不好,VSCode太慢,只有Rider的觉得体验跟VS2022开发WPF差不多

总上所述,我选择Rider

Rider配置

安装Avalonia模板

安装Avalonia模板:

bash 复制代码
dotnet new install Avalonia.Templates

查看已经安装的模板:

bash 复制代码
dotnet new list

这样新建项目的时候,才能选择Avalonia模板:

安装AvaloniaRider插件

下载好Rider后,需要安装插件AvaloniaRider插件:

创建项目

创建项目时可以选择这几种模板:

其中Avalonia Cross Platform ApplicationAvalonia 11中增加的对移动端(Android和IOS)的支持模板。我们就选择这个。创建完毕后,项目结构大致是这样的:

可以看到有Andriod/Browser/Desktop/IOS的支持。

其中Desktop可以在Windows和Linux上运行。

运行项目

创建好项目之后,等待Nuget自动还原

我改了一下MainView.axaml:

csharp 复制代码
<Grid Background="Blue">
     <Image Source="avares://Avalonia_Test/Assets/avalonia-logo.ico"></Image>
     <TextBlock Text="{Binding Greeting}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
 </Grid>

运行Desktop项目

启动的地方选择带有Desktop的,点击启动

如果没有什么其他的问题的话,应该很快就能启动了:

运行Andriod项目

运行Android项目之前,需要安装Andriod SDK以及安卓模拟器

安装Android SDK
  • 打开菜单:文件->设置
  • 进入到设置界面,选择语言和框架->Android SDK
  • 点击Edit按钮,进入选择SDK界面,然后勾选要安装的SDK



安装Andriod 模拟器

此功能需要借助Visual Studio 2022

使用VS2022打开我们刚刚新建的工程:

打开菜单:工具->Android->Android 设备管理器

点击新建按钮,即可增加一个安卓模拟器,我这里是已经增加过了,可以增加多个


增加后,把它启动起来,然后Rider那里就能看到了。如果没有启动的话,Rider可能启动失败。

常见问题

1.找不到 Android SDK 目录。

报错详细信息 :Xamarin.Android.Tooling.targets(70,5): Error XA5300 : 找不到 Android SDK 目录。按照以下说明安装 Android SDK: https://aka.ms/dotnet-android-install-sdk

若要对命令行生成使用自定义 SDK 路径,请将 "AndroidSdkDirectory" MSBuild 属性设置为自定义路径。

0>------- Finished building project: Avalonia_Test.Android. Succeeded: False. Errors: 1. Warnings: 1

原因说明 :安装Android SDK时,没有使用默认目录,而是自定义目录,例如我安装的就是F:\Install\Android_SDK目录。
解决办法

增加环境变量,把AndroidSdkDirectory设置为Android SDK的安装目录,我这里是F:\Install\Android_SDK所以就设置为这个值:





注意:修改后要重启Rider

2.找不到 API 级别 34 的 android jar

报错详细信息 :Xamarin.Android.Tooling.targets(100,5): Error XA5207 : 找不到 API 级别 34 的 android jar。这意味着未安装 API 级别 34 的 Android SDK 平台。请在 Android SDK 管理器 "工具">" Android">"Android SDK 管理器"... 中安装它,或更改 Xamarin.Android 项目,使其将安装的 API 版本作为目标。(缺少 F:\Install\Android_SDK\platforms\android-34\android.jar。)

0>------- Finished building project: Avalonia_Test.Android. Succeeded: False. Errors: 1. Warnings: 1

解决方法 :需要在RiderAndroid SDK Mananger安装Android SDK 34,之前安装的是35版本,估计是版本太高导致的:

修改之后同样需要重启Rider。然后就可以运行啦:

相关推荐
暮云星影4 小时前
四、linux系统 应用开发:UI开发环境配置概述 (三)
linux·ui·arm
子春一12 小时前
Flutter for OpenHarmony: 从颜色模型到可访问性:一个 Flutter 高对比度 UI 的完整实践
flutter·ui
雨季66614 小时前
Flutter 三端应用实战:OpenHarmony 简易数字累加器开发指南
开发语言·flutter·ui·ecmascript
●VON14 小时前
Flutter for OpenHarmony:基于 SharedPreferences 的本地化笔记应用架构与实现
笔记·学习·flutter·ui·架构·openharmony·von
ujainu15 小时前
Flutter + OpenHarmony实现高保真闹钟 App:从 UI 设计到实时触发机制全解析
flutter·ui
晚霞的不甘16 小时前
Flutter for OpenHarmony《智慧字典》 App 底部导航栏深度解析:构建多页面应用的核心骨架
前端·经验分享·flutter·ui·前端框架·知识图谱
子春一16 小时前
Flutter for OpenHarmony:构建一个交互式 Flutter RGB 颜色选择器,深入解析状态驱动 UI、HEX 转换与无障碍色彩对比
flutter·ui
雨季66616 小时前
Flutter 三端应用实战:OpenHarmony 简易文本首字母提取器开发指南
flutter·ui·dart
集成显卡1 天前
Lucide Icons:一套现代、轻量且可定制的 SVG 图标库
前端·ui·图标库·lucide
子春一1 天前
Flutter for OpenHarmony:构建一个高精度 Flutter 计时器:深入解析 Timer、状态同步与 UI 响应式设计
flutter·ui