本課程介紹了(le)如(rú)何創建 CompatTab 和(hé) TabHelper 抽象類的子類以及如(rú)何使用新 API。隻要(yào)設備搭載的平台版本支持,您的應用就可(kě)以在設備上(shàng)使用此實現。
使用新版 API 實現标簽頁
使用新版 API 的 CompatTab 和(hé) TabHelper 的具體類是一(yī)種代理實現。由于上(shàng)一(yī)課中定義的抽象類反映的是新版 API(類結構、方法簽名等),因此使用這(zhè)些新版 API 的具體類隻是代理了(le)方法調用及其結果。
您可(kě)以直接在這(zhè)些具體類中使用新版 API,而不會在舊(jiù)版設備上(shàng)因為(wèi)延遲加載類而導緻崩潰。類會在第一(yī)次訪問(wèn)時(shí)加載并初始化,即首次實例化類或訪問(wèn)類的某個靜态字段或方法時(shí)。因此,隻要(yào)不在 Honeycomb 之前的設備上(shàng)實例化特定于 Honeycomb 的實現,Dalvik 虛拟機就不會抛出任何 VerifyError 異常。
針對此實現的一(yī)種建議(yì)的命名慣例是,附加與這(zhè)些具體類所要(yào)求的 API 相對應的 API 級别或平台版本代碼名稱。例如(rú),CompatTabHoneycomb 和(hé) TabHelperHoneycomb 類可(kě)以提供原生标簽頁實現,因為(wèi)這(zhè)兩個類依賴于 Android 3.0(API 級别 11)或更高版本中提供的 API。
實現 CompatTabHoneycomb
CompatTabHoneycomb 是 TabHelperHoneycomb 用來引用各個标簽頁的 CompatTab 抽象類的實現。CompatTabHoneycomb 隻是用其所包含的 ActionBar.Tab 對象代理所有方法調用。
實現 TabHelperHoneycomb
TabHelperHoneycomb 是 TabHelper 抽象類的實現,該實現用實際的 ActionBar(從(cóng)它所包含的 Activity 中獲取)來代理方法調用。
網站建設開(kāi)發|APP設計開(kāi)發|小程序建設開(kāi)發