zoukankan      html  css  js  c++  java
  • Android 2.x中使用actionbar

    先前有一个项目,是基于android4.0来开发,使用到了Fragment及ActionBar,没打算支持android2.1-android2.3系列版本

    写完之后,我将此应用发布到百度应用,一天以后,收到百度测试员反馈的信息:由于运行时出现"强制关闭错误",此应用未上架,当时一看,我猜想应该是由于2.x版本不支持fragment及Actionbar引起

    正好今天有空,重新打开此项目,启动android 2.1的模拟器,运行应用,果然一样的"强制关闭"错误,查看了下错误信息,果然是因为Fragment,ActionBar在2.x下不支持所引起,正好前段时间了解到ActionBarSherlock可以在2.x及4.x等各版本支持Fragment,ActionBar,于是特意使用ActionBarSherlock对项目进行了升级

    升级步骤

    1.在项目中add library。方法是右击属性,然后再android类中,点击add library,选择我们刚刚导入的ActionBarSherlock库的jar


    2.导入后,可能有些人会出现jar包冲突,这是因为abs和自己项目中同时存在android-support-v4这个包,这时只要删掉自己项目中的这个jar包就ok了。

    至此,我们就能在项目中使用abs 的 actionbar了

    3.修改AndroidManifest.xml,添加或修改代码,如下所示

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="16" />
    
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />


    在application节增加以下内容
    android:theme="@style/Theme.Sherlock"

    <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/Theme.Sherlock" >
     

    设置在2.x下使用actionBar样式来显示界面,不然会显示为菜单样式

    4.修改相应类
    相应类的对应关系
    android.app.Activity->com.actionbarsherlock.app.SherlockActivity
    android.app.Fragment->android.support.v4.app.Fragment
    android.app.FragmentTransaction->android.support.v4.app.FragmentTransaction
    android.view.Menu->com.actionbarsherlock.view.Menu
    android.view.MenuItem->com.actionbarsherlock.view.MenuItem

    方法对应关系
    getFragmentManager->getSupportFragmentManager
    getMenuInflater->getSupportMenuInflater
    getActionBar->getSupportActionBar
    以上左边对应的为Activity的方法,右边对应的为SherlockActivity的方法

    另外我在库中发现com.actionbarsherlock.app.SherlockFragmentActivity这个类,试了下和SherlockActivity差不多,某些情况下可以混合使用这两个类

    5.把不需要的包从import导入列表中注释掉,至此,项目已经可以在android2.x-4.x中成功运行
    ----------
    actionbarsherlock库下载(abs4.2.0.jar,版本4.2.0):
    http://www.kuaipan.cn/file/id_10148578223724194.html

    原文:http://my.oschina.net/chenzz/blog/119586

  • 相关阅读:
    大规模机器学习
    机器学习之推荐系统
    SVM实现邮件分类
    机器学习之异常检测
    降维算法学习
    手写数字识别实现
    动态规划训练之十七
    概率期望训练之三
    数据结构训练之四
    绵阳东辰国际test201910.25
  • 原文地址:https://www.cnblogs.com/zhangs1986/p/3656249.html
Copyright © 2011-2022 走看看