Xamarin - Android 資源



建立一個新的 Android 專案時,預設情況下會向專案新增一些檔案。我們將這些預設專案檔案和資料夾稱為Android 資源。請檢視以下螢幕截圖。

Android Resources

預設 Android 資源包括以下內容:

  • AndroidManifest.xml 檔案 - 包含有關 Android 應用程式的資訊,例如應用程式名稱、許可權等。

  • 資原始檔夾 - 資源可以是影像、佈局、字串等,可以透過 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 資料夾中包含的每個專案都會自動生成並存儲在一個類中。

廣告
© . All rights reserved.