Xamarin - Android 资源
创建新的 Android 项目时,默认情况下会向项目中添加一些文件。 我们将这些默认项目文件和文件夹称为 Android 资源。 看看下面的截图。
默认的Android资源包括以下 −
AndroidManifest.xml 文件 − 它包含有关您的 Android 应用程序的信息,例如应用程序名称、权限等。
Resources 文件夹 − 资源可以是图片、布局、字符串等,可以通过Android的资源系统加载。
Resources/drawable 文件夹 − 它存储您将在应用程序中使用的所有图像。
Resources/layout 文件夹 − 它包含 Android 用于构建用户界面的所有 Android XML 文件 (.axml)。
Resources/values 文件夹 − 它包含用于在整个应用程序中声明字符串(和其他类型)的键值对的 XML 文件。 这就是通常在 Android 上设置多语言本地化的方式。
Resources.designer.cs − 此文件是在创建 Android 投影时自动创建的,它包含引用 Android 资源的唯一标识符。
MainActivity.cs 文件 − 这是您的 Android 应用程序的第一个活动,也是主要应用程序操作的启动位置。
可以通过存储在 resources.designer.cs 文件中的唯一 ID 以编程方式访问资源文件。 该 ID 包含在名为 Resource 的类下。 添加到项目中的任何资源都会在Resource 类中自动生成。
下面的代码展示了如何创建一个包含七张图片的gridview项目 −
实例
namespace HelloGridView {
[System.CodeDom.Compiler.GeneratedCodeAttribute
("Xamarin.Android.Build.Tas ks",
"1.0.0.0")]
public partial class Resource {
static Resource() {
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
public static void UpdateIdValues() {}
public partial class Attribute {
static Attribute() {
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
private Attribute() {}
}
public partial class Drawable {
// aapt resource value: 0x7f020000
public const int Icon = 2130837504;
// aapt resource value: 0x7f020001
public const int img1 = 2130837505;
// aapt resource value: 0x7f020002
public const int img2 = 2130837506;
// aapt resource value: 0x7f020003
public const int img3 = 2130837507;
// aapt resource value: 0x7f020004
public const int img4 = 2130837508;
// aapt resource value: 0x7f020005
public const int img5 = 2130837509;
// aapt resource value: 0x7f020006
public const int img6 = 2130837510;
// aapt resource value: 0x7f020007
public const int img7 = 2130837511;
static Drawable() {
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
private Drawable() {}
}
public partial class Id {
// aapt resource value: 0x7f050000
public const int gridview = 2131034112;
static Id() {
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
private Id() {}
}
public partial class Layout {
// aapt resource value: 0x7f030000
public const int Main = 2130903040;
static Layout() {
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
private Layout() {}
}
public partial class String {
// aapt resource value: 0x7f040001
public const int ApplicationName = 2130968577;
// aapt resource value: 0x7f040000
public const int Hello = 2130968576;
static String() {
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
private String() {}
}
}
}
从上面的代码中,七个图像在一个名为drawable的类中被引用。 这些图像以编程方式添加。如果用户将另一个图像添加到项目中,它也会被添加到 drawable 类中。项目中包含的 gridview 也被添加并单独存储在一个类中。 resources 文件夹 中包含的每个项目都会自动生成并存储在一个类中。