zoukankan      html  css  js  c++  java
  • ActionBar在Android2.x的实现,类似新版微信界面。

    ActionBar完美兼容Android4.x的机型,虽然现在Android2.x的系统越来越少,还有有一部分人使用的仍是2.x的系统,所以我们还得考虑着兼容性问题。

    对比图:

    Test例子与微信的对比,测试机型SONY XPERA Mt27i Android2.3.7

    在Android官网中我们可以看到有这样一个更新包,android-support-v7,这个包就是专门解决ActionBar的向下兼容性问题。

    第一步:在 extrasandroidsupport 这个目录下面有v7这个包(当然你必须把自己的SDK更新到最新),打开找到appcompat这个项目,作为Android项目导入Eclipse,并勾选Is Libary.

    第二步:新建一个Android项目,设置 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />,在AndroidManifest中给声明过的Activity加 android:theme="@style/Theme.AppCompat.Light" 这样一个属性(否则会报错)。

    第三步:把Libary加入新建的项目中去,如图

    第四步:让主Activity继承ActionBarActivityimport android.support.v7.app.ActionBarActivity),实现ActionBar有点不同,如下:

    actionBar = getSupportActionBar();

    第五步:ActionBar上添加控件,在menu目录中,添加红色字体为你的项目名称 xmlns:TabsWithSwipeGesture="http://schemas.android.com/apk/res-auto" ,

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:TabsWithSwipeGesture="http://schemas.android.com/apk/res-auto" 
         >
    
        <item
            android:id="@+id/action_settings"
            android:orderInCategory="100"
            TabsWithSwipeGesture:showAsAction="ifRoom"
            TabsWithSwipeGesture:actionViewClass="android.support.v7.widget.SearchView"/>    
        <item
            android:id="@+id/action_test1"
            android:orderInCategory="100"
            TabsWithSwipeGesture:showAsAction="ifRoom"
            android:title="测试1"/>   
         <item
            android:id="@+id/action_test2"
            android:orderInCategory="100"
            TabsWithSwipeGesture:showAsAction="ifRoom"
            android:title="测试2"/>   
    </menu>
    

    把showAsAction前面的android:替换成当前的项目名称,actionViewClass也引用support-v7中的。

    第六步:实现Search

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    getMenuInflater().inflate(R.menu.main, menu);
    MenuItem searchItem = menu.findItem(R.id.action_settings);
    SearchView searchview = (SearchView)MenuItemCompat.getActionView(searchItem);
    

      

    未完·········待续···············

  • 相关阅读:
    NYOJ题目100 1的个数
    NYOJ题目98成绩转换
    NYOJ题目97兄弟郊游问题
    NYOJ题目96 n-1位数
    NYOJ题目77开灯问题
    NYOJ题目75日期计算
    NYOJ题目74小学生算术
    NYOJ题目65另一种阶乘问题
    NYOJ题目64鸡兔同笼
    NYOJ题目62笨小熊
  • 原文地址:https://www.cnblogs.com/LIANQQ/p/3549907.html
Copyright © 2011-2022 走看看