猿问

与ActionBarActivity相比,AppCompatActivity的增强是什么?

与ActionBarActivity相比,AppCompatActivity的增强是什么?

android.support.v7.app.AppCompatActivity 昨天作为新功能添加到最新的v7支持库中。

据说ActionBarActivity已经弃用了新的AppCompatActivity,这AppCompatActivity是使用支持库操作栏功能的活动的基类。那么,什么是新的功能AppCompatActivityActionBarActivity?做什么改进AppCompatActivity有过ActionBarActivity?有什么好处AppCompatActivity?有人可以提供一些样品吗?

任何提示都表示赞赏。并提前感谢。

PS:最让我感到惊讶的是,AppCompatActivityandroid.support.v4.app.FragmentActivity直接的父类延伸出来的是什么ActionBarActivity!我的意思是现在实际上ActionBarActivity可以做任何AppCompatActivity可以做的事情,为什么Android会推出后者呢?

同时,我看到了一篇博客文章,指出:“ 这不是从命名ActionBarActivityAppCompatActivity,内部逻辑AppCompat通过可用AppCompatDelegate ”,那么什么是“ 内在逻辑的” AppCompat?有什么可以AppCompatDelegate做什么?有人会发布一些关于此的代码吗?


catspeake
浏览 790回答 3
3回答

至尊宝的传说

正如克里斯所写,新的弃用版本ActionBarActivity(一个扩展AppCompatActivity类)可以安全地使用向后兼容类。它的弃用只是暗示你要求AppCompatActivity直接使用new 。AppCompatActivity是一个新的,更通用的实现,它在AppCompatDelegate内部使用类。如果你开始一个新的开发,那么你应该立即使用新的AppCompatActivity类。如果您有机会更新您的应用,那么也可以替换ActionBarActivity新活动。否则,您可以继续使用已弃用的活动,并且根本不会有任何行为上的差异。关于AppCompatDelegate,它允许您在活动中使用新的有色小部件,这既不是也不AppCompatActivity是ActionBarActivity。例如,您从外部库继承一个活动,而该外部库不会从中继承,AppCompatActivity但您希望此活动具有着色的材质小部件(视图)。要实现它,您需要AppCompatDelegate在活动内部创建一个实例,覆盖该活动的方法addContentView(),setContentView()等等(请参阅AppCompatDelegatejavadoc获取完整的方法列表),并在这些重写方法内部将调用转发给内部AppCompatDelegate实例。AppCompatDelegate将做其余的事情,你的“旧时尚”活动将“物化”。

暮色呼如

它主要是一个名称变化:ActionBarActivity并没有真正描述它现在所做的一切。ActionBarActivity如果您愿意,可以放心使用。把它想象成一个符号链接。
随时随地看视频慕课网APP

相关分类

Android
我要回答