.NET MAUI 安卓 UI 资源设置

简介: 本文主要介绍使用 MAUI 开发安卓应用时,如何更换和处理 UI 资源:应用名称,图标,主题配色,状态栏,闪屏。

1. 背景

平常比较喜欢看小说,但是不知道从何时起,已经找不到一个纯粹的本地小说阅读器了。也能理解,毕竟不能只靠爱心发电,在线资源也就算了,我本地的 TXT 你也给我加广告也就离谱了吧。纯粹的阅读器还是只能靠自己了,之前用 AppCan 和 APICloud 的混合开发技术做过。近期在了解 MAUI,就继续做个小工具练练手吧。代码一行没写,但是基础 UI 和图标什么的要给先搞起来,面子功夫我先做足咯。

2. 资源设置

2.1 项目创建

项目创建我们这里选择 .NET MAUI Blazor 应用,因为我觉得使用 Web 技术来设计 UI 界面对我来说会更方便和顺手一些。这里需要额外注意的是,项目名称这里可一定不要用中文,不然怎么出的错你都不知道。

项目创建

2.2 应用名称

对于应用名称的修改,如想显示中文,而不是创建时设置的英文,则只需要在属性中的“已共享 MAUI”进行修改即可。

应用程序的 ID 即是生成的安卓包 ID,版本也会在 APK 信息中展示。

应用基础信息

然后生成应用,使用安卓设备调试我们可以发现,包ID 和名称已经修改完成。

APK

另外在项目文件中,也有几个配置信息,我们可以一起改掉:

<!-- Display name -->
<ApplicationTitle>悦读</ApplicationTitle>

<!-- App Identifier -->
<ApplicationId>com.sangsq.yuereader</ApplicationId>

如果你通过 Windows 调试界面,想修改应用名称和包信息,则需要在Platforms/windows目录下设置Package.appxmanifest

Windows

2.3 应用图标

MAUI APP 的应用图标设置资源是在Resources/AppIcon目录下,我们可以看到这里使用的是 SVG 矢量图片格式:

  • appicon.svg 纯色图标背景
  • appiconfg.svg 图标的主体内容

借助 SVG 图像的矢量特性,无需维护特定于平台或特定于设备的各种不同分辨率的图像。我们可以使用 Adobe illustrator 来设计,最后导出 SVG 格式即可。

根据我让老婆调整了 N 版设计的经验来看,这个图标的主体最好是上下左右各留出 25% 的空间,这样最后图标展示的效果才会好一些。

appicon

更换图标当然是最简单的了,只需要修改图标文件即可。

在项目文件中我们可以看到,关于 APP 图标这一块的配置:

<!-- App Icon -->
<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" />

上面的 Color 是背景重新着色用的,我们这里没有用到,可以直接去掉。

2.4 应用闪屏

在项目文件中闪屏配置信息如下:

<!-- Splash Screen -->
<MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" />

上面的 BaseSize 是为了在不同屏幕尺寸和密度的设备上进行适应,其取值为 8 的倍数。系统为适用于不同的屏幕,会进行缩放。当然,也可以将 Resize 设置为 false 不进行自动调整。

这里我们可以直接采用 App 的图标来设置,更改资源路径。Color 也更改为应用的主题色。

<!-- Splash Screen -->
<MauiSplashScreen Include="Resources\AppIcon\appiconfg.svg" Color="#F80" BaseSize="128,128" />
注意: 只更改配置信息,特别是修改资源文件的情况下,调试可能会出现编译的失败,可以清理后重试;调试过程中,真机的闪屏可能不会显示出 appiconfg.svg 图片,重新打开一下应用就可以看到其实已经更改完成了。

2.5 沉浸式状态栏

安卓的沉浸式状态栏颜色设置默认是 MAUI 的蓝色,设置文件在 Platforms\Android\Resources\values\colors.xml ,这个 xml 文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#512BD4</color>
    <color name="colorPrimaryDark">#2B0B98</color>
    <color name="colorAccent">#2B0B98</color>
</resources>

这里我们将 colorPrimary 改为我们应用的主体颜色即可。其他两个是稍微深色一点的配色,状态栏默认使用 colorPrimaryDark

状态栏

相关文章
|
2月前
|
XML API Android开发
码农之重学安卓:利用androidx.preference 快速创建一、二级设置菜单(demo)
本文介绍了如何使用androidx.preference库快速创建具有一级和二级菜单的Android设置界面的步骤和示例代码。
50 1
码农之重学安卓:利用androidx.preference 快速创建一、二级设置菜单(demo)
|
9天前
|
存储 开发工具 Android开发
使用.NET MAUI开发第一个安卓APP
【9月更文挑战第24天】使用.NET MAUI开发首个安卓APP需完成以下步骤:首先,安装Visual Studio 2022并勾选“.NET Multi-platform App UI development”工作负载;接着,安装Android SDK。然后,创建新项目时选择“.NET Multi-platform App (MAUI)”模板,并仅针对Android平台进行配置。了解项目结构,包括`.csproj`配置文件、`Properties`配置文件夹、平台特定代码及共享代码等。
|
13天前
|
XML Android开发 UED
💥Android UI设计新风尚!掌握Material Design精髓,让你的界面颜值爆表!🎨
随着移动应用市场的蓬勃发展,用户对界面设计的要求日益提高。为此,掌握由Google推出的Material Design设计语言成为提升应用颜值和用户体验的关键。本文将带你深入了解Material Design的核心原则,如真实感、统一性和创新性,并通过丰富的组件库及示例代码,助你轻松打造美观且一致的应用界面。无论是色彩搭配还是动画效果,Material Design都能为你的Android应用增添无限魅力。
30 1
|
28天前
|
Linux C# Android开发
一个开源、跨平台的.NET UI框架 - Avalonia UI
一个开源、跨平台的.NET UI框架 - Avalonia UI
|
1月前
|
Android开发
Android经典实战之Textview文字设置不同颜色、下划线、加粗、超链接等效果
本文介绍了 `SpannableString` 在 Android 开发中的强大功能,包括如何在单个字符串中应用多种样式,如颜色、字体大小、风格等,并提供了详细代码示例,展示如何设置文本颜色、添加点击事件等,助你实现丰富文本效果。
72 3
|
2月前
|
存储 搜索推荐 Java
探索安卓开发中的自定义视图:打造个性化UI组件Java中的异常处理:从基础到高级
【8月更文挑战第29天】在安卓应用的海洋中,一个独特的用户界面(UI)能让应用脱颖而出。自定义视图是实现这一目标的强大工具。本文将通过一个简单的自定义计数器视图示例,展示如何从零开始创建一个具有独特风格和功能的安卓UI组件,并讨论在此过程中涉及的设计原则、性能优化和兼容性问题。准备好让你的应用与众不同了吗?让我们开始吧!
|
2月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
37 1
|
2月前
|
API Android开发
Android项目架构设计问题之选择和使用合适的UI库如何解决
Android项目架构设计问题之选择和使用合适的UI库如何解决
41 0
|
2月前
|
Java 网络安全 开发工具
UNITY与安卓⭐一、Android Studio初始设置
UNITY与安卓⭐一、Android Studio初始设置
|
1月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
111 0
下一篇
无影云桌面