2

Android - 我打算開發一個應用程序,在API 15之間的API與最新的API之間。我有一個疑問。 3.Java類Android- Java類之間的區別擴展了AppcompatActivity並擴展了Activity並擴展了ActionBar?

差異與

之間

1.Java類擴展AppcompatActivity

2.Java類擴展Activity

延伸ActionBarActivity

如果有人給出明確的定義,我肯定會打勾答案接受我的問題。

在此先感謝。 :)

+0

取決於您想要開發的Android API級別。對於當前的API級別(> 20),忘記該compat/actionbar的東西,只是使用一個活動。 – Stephan

+0

延伸ActionBar?從來沒有讀過.. !!! –

+0

謝謝。 API 15更新到API。 –

回答

2
  • 延伸ActionBarActivity給你ActionBar小號功能在每個API級別> = 7
  • 通過擴展Activity你能避免增加額外的項目/庫到您的項目,但你會缺乏對低於11 API級別的ActionBar

ActionBarActivitySupport Library的一部分。支持庫用於在舊版平臺上提供更新的功能。例如,ActionBar在API 11中引入,默認情況下爲Activity的一部分(實際取決於主題)。相比之下,舊平臺上沒有ActionBar。因此,支持庫增加了一個子類活動(ActionBarActivity)的,提供了ActionBar的功能和UI

  • ActionBarActivity新棄用版本(一個延伸AppCompatActivity類)是一個安全的使用向後兼容類。它的棄用只是提示您直接使用新的AppCompatActivityAppCompatActivity是一個新的更通用的實現,它在內部使用AppCompatDelegate類。

例如,你繼承外部庫,這反過來,不從AppCompatActivity繼承的活動,但您希望此活動已有色材料部件(視圖)。要做到這一點,你需要在你的活動中創建一個AppCompatDelegate的實例,override該活動的方法,如addContentView(),setContentView()等(請參閱AppCompatDelegate javadoc獲取完整的方法列表),並在這些重寫的方法內部將呼叫轉發給內部AppCompatDelegate實例。 AppCompatDelegate將完成剩下的工作,您的「舊時尚」活動將「物化」。

來源:thisthis

1

擴展AppcompatActivity是好的。 AppcompatActivity正在幫助我們在低位使用新功能api