• ActionBarSherlock,SlidingMenu


    转自:http://www.chenwg.com/android/actionbarsherlock%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.html

    Android3.0开始就提供了ActionBar,这让Android的用户体验强了好多,但是这个ActionBar在Android3.0以下是不支持的,谷歌也没推出什么解决方案,不过呢,没有什么是实现不了的,有github上有牛人放出了开源的ActionBarSherlock,可以在Android2.x上实现ActionBar,如果你在Android3.0的手机上使用,它会调用原生的ActionBar。

    ActionBarSherlock在github上的地址是:https://github.com/JakeWharton/ActionBarSherlock,它的官网是:http://actionbarsherlock.com/,下载即可,现在最新版本是4.2.0.

    下载好,就解压出来,有三个文件夹,其实library就是Android公共库的使用,也就是将一些共同的东西抽取出来,包括java文件,资源文件等。

    我的开发工具是eclipse,并安装了Android-maven,然后将这个library项目以maven项目导入即可。

    接着新建一个Android工程,然后右键选择properties,再选择Android,接着添加library进来,如下:

    actionbar1

    1.修改项目的AndroidManifest.xml文件,将Android的Theme,也就主题改为如下:

    android:theme=”@style/Theme.Sherlock.Light”  ,也就是使用ActionBarSherlock里的主题;

    2.修改MainActivity.java文件,默认生成的MainActivity类是继承Activity的,现在将Activity修改成SherlockActivity;

    3.修改menu文件夹下的main.xml文件如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
        <item
            android:id="@+id/add"
            android:icon="@android:drawable/ic_menu_add"
            android:showAsAction="ifRoom"
            android:title="@string/add"
            android:titleCondensed="@string/add">
        </item>
        <item
            android:id="@+id/delete"
            android:icon="@android:drawable/ic_menu_delete"
            android:showAsAction="ifRoom"
            android:title="@string/delete"
            android:titleCondensed="@string/delete">
        </item>
     
    </menu>

    4.要使ActionBar显示menu按钮,得重写MainActivity中的onCreateOptionsMenu方法,还要导入ActionBarSherlock中的Menu、MenuItem包,如下:

    1
    2
    3
    4
    5
    6
    7
    import com.actionbarsherlock.view.Menu;
    import com.actionbarsherlock.view.MenuItem;
    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getSupportMenuInflater().inflate(R.menu.main, menu);
            return true;
        }

    运行下模拟器,如下:

    actionbar

     
     
    分类: Android开发
    http://www.cnblogs.com/hxxy2003/archive/2013/04/09/3009419.html
     
    #########################

    http://www.eoeandroid.com/forum.php?mod=viewthread&tid=262755&extra=page%3D1&page=1

    1. 在github上有一个效果不错的开源库,SlidingMenu 最新的代码下载下来后,会报错:

    No resource found that matches the given name: attr 'homeAsUpIndicator'.

    No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'.


    原因是它本身又引用了另外一个开源库 ActionBarSherlock ,所以首先要做的就是去下载 ActionBarSherlock,引用其中的library。

    -------------------------------------------------------

    增加引用方法:修改SlidingMenuexampleproject.properties

    Java代码  收藏代码
    1. # Project target.  
    2. target=android-17  
    3. android.library=false  
    4. android.library.reference.1=../library  
    5. android.library.reference.2=../ABS  
    6. #增加这一句  
    7. android.library.reference.3=../../ActionBarSherlock/actionbarsherlock  
    8. proguard.config=proguard-project.txt  

    2. 这样,SlidingMenu 的示例代码就引用了两个library,这时候还不能用,项目报错:

    Jar mismatch! Fix your dependencies

    解决此问题的方法见 http://blog.csdn.net/java_crab/article/details/8477416 ,其实就是需要两个library使用的support包是一样的。

    3. 解决了上面的问题之后,还会出现下面的问题:
    可能报找不到getSupportActionBar等ActionBarSherLock的方法。原因是使用ActionBarSherLock的Activity需继承于SherlockActivity,修改SlidingMenu library中的SlidingFragmentActivity,让它继承于SherlockFragmentActivity,重新编译library导入。

    需要修改文件SlidingMenulibraryproject.properties,增加:
    android.library.reference.1=../../ActionBarSherlock/actionbarsherlock


    经过以上三个步骤之后,就可以成功的编译通过SlidingMenu提供的示例代码!

    Github 链接
    SlidingMenu https://github.com/jfeinstein10/SlidingMenu
    ActionBarSherlock https://github.com/JakeWharton/ActionBarSherlock

    http://www.bubuko.com/infodetail-423289.html

  • 相关阅读:
    修改Unity脚本模板的方法合计
    Mesh.Bake Scaled Mesh PhysX CollisionData的性能问题
    Scene的实时追踪显示
    基于Unity3D的AOP使用思路
    导出Unity场景为配置文件
    unity3d中namespace的使用注意问题
    [iOS]通过xib定义Cell然后关联UICollectionView
    swift之弹出一个背景半透明的UIViewController
    swift之xib关联UIView
    iOS坑爹的could not find any information for class named xxx
  • 原文地址:https://www.cnblogs.com/pengmn/p/4816544.html
Copyright © 2020-2023  润新知