📜  Xamarin-Android资源

📅  最后修改于: 2020-12-07 05:03:31             🧑  作者: Mango


创建新的Android项目时,默认情况下会向该项目添加一些文件。我们将这些默认项目文件和文件夹称为Android Resources 。看一下下面的截图。

Android资源

默认的Android资源包括以下内容-

  • AndroidManifest.xml文件-它包含有关您的Android应用程序的信息,例如,应用程序名称,权限等。

  • 资源文件夹-资源可以是图像,布局,字符串等,可以通过Android的资源系统加载。

  • 资源/可绘制文件夹-它存储您将在应用程序中使用的所有图像。

  • 资源/布局文件夹-它包含Android用于构建用户界面的所有Android XML文件(.axml)。

  • 资源/值文件夹-它包含XML文件,用于声明整个应用程序中字符串(和其他类型)的键/值对。通常,这就是在Android上设置多种语言的本地化的方式。

  • Resources.designer.cs-该文件在创建Android项目时自动创建,并且包含引用Android资源的唯一标识符。

  • MainActivity.cs文件-这是Android应用程序的第一个活动,是从中启动主要应用程序操作的地方。

可以通过存储在resources.designer.cs文件中的唯一ID以编程方式访问资源文件。该ID包含在名为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也会被添加并单独存储在类中。资源文件夹中包含的每个项目都是自动生成的,并存储在一个类中。