首页 文章

Xamarin资产与资源可绘制

提问于
浏览
2

在Xamarin(本机或表单)中,我看到Android项目始终具有Assets和Resources / drawable文件夹 .

如果我在我的应用程序中使用ListViews,工具栏等中的各种图像,我会在哪里放置这些图像?

而且,为什么我要将它们放入Assets文件夹?

1 回答

  • 1

    这只是 Xamarin.Android 的问题

    有了资源,内置支持为不同语言,操作系统版本,屏幕方向等提供替代方案,如here所述 . 这些都不适用于资产 . 此外,API的许多部分都支持使用资源标识符 . 最后,资源的名称将转换为在编译时检查的常量字段名称,因此代码和资源本身之间的不匹配机会就会减少 . 这些都不适用于资产 .

    那么为什么要有资产文件夹呢?如果要计算要在运行时使用的资产,则非常简单 . 使用资源,您必须声明可能使用的所有资源ID的列表,并在列表中计算索引 . (如果资源集在开发周期中发生变化,这有点尴尬并引入错误机会 . )(您可以使用getIdentifier按名称检索资源ID,但这会失去编译时检查的好处 . )资产也可以被组织成文件夹层次结构,资源不支持 . 这是一种管理数据的不同方式 . 虽然资源涵盖了大多数情况,但资产偶尔会被使用 .

    另一个区别是:库项目中定义的资源会自动导入依赖于库的应用程序项目 . 对于没有Gradle-based build system(与Android Studio一起使用)的资产,这已不再适用 . 库项目的资产目录打包到.aar文件中,因此库项目中定义的资产将合并到应用程序项目中(因此,如果它们位于引用的库中,则它们不必存在于应用程序的 /assets 目录中) .

相关问题