Sil*_*ght 164 android android-appcompat android-actionbaractivity appcompatactivity
android.support.v7.app.AppCompatActivity
昨天作为新功能添加到最新的v7支持库中.
据说ActionBarActivity
已经弃用了新的AppCompatActivity
,这AppCompatActivity
是使用支持库操作栏功能的活动的基类.那么,什么是新的功能AppCompatActivity
了ActionBarActivity
?做什么改进AppCompatActivity
有过ActionBarActivity
?有什么好处AppCompatActivity
?有人可以提供一些样品吗?
任何提示都表示赞赏.并提前感谢.
PS:最让我感到惊讶的是,AppCompatActivity
从android.support.v4.app.FragmentActivity
直接的父类延伸出来的是什么ActionBarActivity
!我的意思是现在实际上ActionBarActivity
可以做任何AppCompatActivity
可以做的事情,为什么Android会推出后者呢?
同时,我看到了一篇博客文章,指出:" 这不是从命名ActionBarActivity
到AppCompatActivity
,内部逻辑AppCompat
通过可用AppCompatDelegate
",那么什么是" 内在逻辑的" AppCompat
?有什么可以AppCompatDelegate
做什么?有人会发布一些关于此的代码吗?
ser*_*nka 145
正如克里斯所写,新的弃用版本ActionBarActivity
(一个扩展AppCompatActivity
类)可以安全地使用向后兼容类.它的弃用只是暗示你要求AppCompatActivity
直接使用new .AppCompatActivity
是一个新的,更通用的实现,它在AppCompatDelegate
内部使用类.
如果你开始一个新的开发,那么你应该立即使用新的AppCompatActivity
类.如果您有机会更新您的应用,那么也可以替换ActionBarActivity
新活动.否则,您可以继续使用已弃用的活动,并且根本不会有任何行为上的差异.
关于AppCompatDelegate
,它允许您在活动中使用新的有色小部件,这既不是也不AppCompatActivity
是ActionBarActivity
.
例如,您从外部库继承一个活动,而该外部库不会继承,AppCompatActivity
但您希望此活动具有着色的材质小部件(视图).要实现它,您需要AppCompatDelegate
在活动内部创建一个实例,覆盖该活动的方法addContentView()
,setContentView()
等等(请参阅AppCompatDelegate
javadoc获取完整的方法列表),并在这些重写方法内部将调用转发给内部AppCompatDelegate
实例.AppCompatDelegate
将做其余的事情,你的"旧时尚"活动将"物化".
Chr*_*nes 35
它主要是一个名称变化:ActionBarActivity
并没有真正描述它现在所做的一切.ActionBarActivity
如果您愿意,可以放心使用.把它想象成一个符号链接.
And*_*cko 12
AppCompat支持库以简陋但重要的开端开始:针对所有API 7及更高版本设备的单一一致操作栏.在修订版21中,它承担了新的责任:为所有API 7+设备提供材料调色板,窗口小部件着色,工具栏支持等.有了它,ActionBarActivity这个名字并没有涵盖它真正做到的全部范围.
http://android-developers.blogspot.it/2015/04/android-support-library-221.html
AppCompatActivity
自Android支持appcompat库发布以来,Android-SDK被引入.
AppCompatActivity
是FragmentActivity
支持v4 的直接子类和直接父类ActionBarActivity
.
AppCompatActivity
是使用支持库操作栏功能的活动的基类.
通过为活动扩展此类并将活动主题设置为Theme.AppCompat或类似主题,您可以ActionBar
在API级别7或更高级别上运行时为活动添加活动.
至于支持v7 appcompat库,它增加了对Action Bar用户界面设计模式的支持.该库包括对材料设计用户界面实现的支持.
以下是v7 appcompat库中包含的一些关键类:
ActionBar
- 提供操作栏用户界面模式的实现.AppCompatActivity
- 添加一个应用程序活动类,该类可用作使用支持库操作栏实现的活动的基类.AppCompatDialog
- 添加一个对话框类,可用作AppCompat主题对话框的基类.ShareActionProvider
- 添加对可包含在操作栏中的标准化共享操作(如电子邮件或发布到社交应用程序)的支持.下载Android支持库后,此库位于/ extras/android/support/v7/appcompat /目录中.
以前唯一的入口点AppCompat
是通过现在已弃用的ActionBarActivity
类.不幸的是,这迫使你使用一个设置的Activity层次结构,这使得使用PreferenceActivity
不可能的东西.
有关详细信息,请参阅chris banes的 support-libraries-v22-1-0