AppCompatActivity和Activity之间的区别

时间:2016-06-20 22:22:15

标签: android-activity menu appcompatactivity

我正在尝试在我的应用程序中添加菜单,如果它扩展AppCompatActivity,它会起作用,但如果它扩展了Activity,则不会。它的菜单中没有任何可用的活动吗?人们说Activity是基本的,AppCompatActivity是后来开发的东西,有什么理由我应该使用Activity而不是AppCompatActivity?由于AppCompatActivity是默认值,但在我的学习中建议选择Activity,但我发现创建菜单时遇到问题(操作栏),请帮忙!

3 个答案:

答案 0 :(得分:0)

  

AppCompatActivity是v7 Appcompat库中的类。这是一个兼容性库,可将最新版本的Android的某些功能移植回旧设备。

     
    

对于使用Android版本早于Android 2.1(API级别7)的旧设备,它可以使用特定于ActionBar和Material Design的实现,例如工具栏。因此,如果您应用的minSdkVersion版本不支持较新API中的新功能,则可以使用支持库来启用这些功能。如果使用支持库,则必须使所有活动都扩展AppCompatActivity而不是Activity基类。

  

答案 1 :(得分:-1)

ActionbarActivity是appcompat-v7的基本活动的旧名称。由于各种原因,他们想要更改名称。除非您使用的某些第三方库坚持使用ActionBarActivity,否则您应该优先选择AppCompatActivity而不是ActionBarActivity。 Android中AppComaptActivity的主要用途。 - > AppcompatActivity基本上是为android中的ActionBar提供支持。 - >它还为Material Design外观提供支持。 - >它还提供向ActionBar的较低版本的backport。所以根据我的说法,使用AppCompactActivity优于ActionbarActivity。

答案 2 :(得分:-2)

正如此回答What's the enhancement of AppCompatActivity over ActionBarActivity?所解释的那样,除非您的目标API级别低于11,否则您应该使用AppCompatActivity。但是,如果您只针对高于此级别的API级别,那么您应该可以使用Activity,因为较新的版本具有在ActionBar上创建菜单所需的一切。

希望有所帮助