zoukankan      html  css  js  c++  java
  • FragmentActivity和ActionBarActivity的由来

    参考资料:

    http://www.open-open.com/lib/view/open1373981182669.html

    http://www.cnblogs.com/yc-755909659/p/4290784.html

    http://www.bdqn.cn/news/201308/10625.shtml

    http://www.cnblogs.com/wanqieddy/p/3818718.html

    http://09572.iteye.com/blog/1587044

    http://www.cnblogs.com/mainroadlee/p/3366323.html

     

     Android 3.0引入了Fragment和ActionBar两大组件。

     

    Fragment

    为了在低版本中使用fragment就要用到android-support-v4.jar兼容包,而fragmentActivity就是这个兼容包里面的,它提供了操作fragment的一些方法,其功能跟3.0及以后的版本的Activity的功能一样。

    1、fragmentactivity 继承自activity,用来解决android3.0 之前没有fragment的api,所以在使用的时候需要导入support包,同时继承fragmentActivity,这样在activity中就能嵌入fragment来实现你想要的布局效果。 
    2、当然3.0之后你就可以直接继承自Activity,并且在其中嵌入使用fragment了。 
    3、获得Manager的方式也不同 
    3.0以下:getSupportFragmentManager() 
    3.0以上:getFragmentManager() 

     

    ActionBar

    同样如果你只需要在Android 3.0以上系统中开发含有Action Bar的应用(minSdkVersion>=11),那么直接在Activity中调用ActionBar API (也就是android.app.ActionBar)就可以了。而如果需要兼容Android 2.1~3.0之间的系统,你就必须使用ActionBarCompat (在建立工程的时候,就必须将Support Library r18包[android.support.v4.jar 和android.support.v7.jar]含至编译路径,而且要使用ActionBarActivity 而不是Activity),此时调用ActionBar API的时候 ActionBar其实来自于android.support.v7.app.ActionBar(ActionBarCompat)。

    所以说FragmentActivity和ActionBarActivity都是为了兼容Android 3.0之前的系统而从Activity继承而来,使得之前的系统也可以使用这两大组件。

    那么2.X版本使用ActionBar得用ActionBarSherlock或者添加android-support-v7-appcompat库,Activity要继承SherlockActivity或ActionBarActivity,使用Fragment得添加android-support-v4库,Activity要继承FragmentActivity,如果在低版本同时兼容ActionBar和Fragment,在同一个Activity里,可以使用V4的fragmentActivity和V7的ActionBar(ActionBarCompat)来达到这个目的。

  • 相关阅读:
    jquery---stop()
    标准设备的-media queries
    CSS3 Media Queries
    css---------selector
    sublime----(1)
    XAMPP、WAMP、appserv
    Express.js----路由
    nodejs----上传显示图片
    node.js-----处理POST请求
    DotNetOpenAuth使用笔记
  • 原文地址:https://www.cnblogs.com/8dull/p/5383008.html
Copyright © 2011-2022 走看看