为什么我要为Android 4.0及更高版本扩展AppCompatActivity而不是Activity?

k3b*_*k3b 0 android android-appcompat

当我为Android 2.2编写第一个Android应用程序时,我的活动不得不使用,extends AppCompatActivity因为片段在Android 2.2中不可用。

如今,许多为Android 4.0和更高版本编写的应用extends AppCompatActivity代替了extends Activity。由于Android 4支持片段和样式,因此仍然需要使用AppCompatActivity吗?

Android Studio向导还会为生成代码AppCompatActivity

注意:这个问题通常与“ AppCompat” 无关(例如对Android 6权限的支持,它仅与活动和片段处理有关。

[更新]我什么真正的问题是关于concreate什么下的Android 4.0版本的AppCompatActivity活动可以比Android的4.0 Actrivity做例子if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.XXX)不能做。我发现AppCompatActivity添加了get / setSupportXXXX

到目前为止,我得到的唯一具体示例是使用Material Design视图。

Fra*_*ank 7

AppCompatActivity会定期获得改进(支持库更新)。正常的Activity类是静态的,该代码只编写一次,并且永远不会更新。

因此,无论使用哪个Android版本,AppCompatActivity几乎总是更好,更快,更新。

此外,稍后会在Android 5等版本中添加其他功能,这些功能需要反向移植到4.0。

  • 您错过了AppCompat向后兼容的部分,而Appcompat主题需要AppCompatActivity而不是Activity (2认同)