Android菜鸟的成长笔记(28)——Google官方对Andoird 2.x提供的ActionBar支持

Posted wzzkaifa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android菜鸟的成长笔记(28)——Google官方对Andoird 2.x提供的ActionBar支持相关的知识,希望对你有一定的参考价值。

在Google官方android设计指南中(链接:http://www.apkbus.com/design/get-started/ui-overview.html)有一个新特性就是自我标识,也就是宣传自己,所以非常多应用如今也自然的使用ActionBar并提供自己的logo.

微信的应用:

技术分享

Google的Android设计指南中是这样说的:应用的 启动图标 作为启动应用的入口是展示 logo 的最佳场所

你也能够将启动图标放置在 操作栏 上,从而保证在应用内的全部页面上都能看到它。

在使用ActionBar的时候。会发现一个问题。

在3.0曾经SDK中是不支持ActionBar的,所以假设手机apk要兼容2.2或2.3的手机就须要用一个开源的项目ActionBarSherlock,详细用法例如以下:

1、下载开源包:http://actionbarsherlock.com/usage.html

2、导入到Eclipse中(和导入项目步骤同样,记得勾选Is Library)

技术分享

3、在项目中引用(properties->android->add  加进去

技术分享

4、改动主题为@Style/Theme.Sherlock.Light(或其子类)

5、继承SherlockActivity。

6、使用getSupportActionBar()获取ActionBar对象。

上面方法就能够实现低版本号使用ActionBar的问题,可是Goole去年推出了自己的兼容包。使用起来更加方便。

以下我们就来看看怎样使用support_v7。

1、和上面一样下载和导入appcompat_7.x兼容包(假设是官方最新的sdk开发工具则提供)

2、在项目中引用:

技术分享

3、改动主题为@style/Theme.AppCompat(或其子类)

4、改动menu/文件夹下相应的xml文件

<?xml version="1.0" encoding="utf-8"?>  
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:alpha="http://schemas.android.com/apk/res-auto">  
     <!-- Search, should appear as action button -->    
    <item android:id="@+id/action_search"    
          android:icon="@drawable/ic_action_refresh"    
          android:title="刷新"   
          alpha:showAsAction="always"/>    
    <!-- Settings, should always be in the overflow -->  
    <item android:id="@+id/action_add"    
          android:title="分享"    
          android:icon="@drawable/ic_action_share"  
          alpha:showAsAction="always" />     
     
   <item android:id="@+id/action_settings"    
          android:title="很多其它"    
          android:icon="@drawable/ic_action_overflow"  
          alpha:showAsAction="always">   
          <menu >  
              <group >  
                  <item   
                      android:id="@+id/item1"  
                      android:title="个人中心"  
                      android:icon="@drawable/ic_action_share"/>  
                  <item   
                      android:id="@+id/item2"  
                      android:title="设置"  
                      android:icon="@drawable/ic_action_share"/>  
                  <item   
                      android:id="@+id/exit_system"  
                      android:title="退出"  
                      android:icon="@drawable/ic_action_share"/>  
              </group>  
          </menu>  
    </item>   
</menu>  
5、继承自ActionBarActivity

6、使用getSupportActionBar获取ActionBar对象。

		ActionBar actionBar = getSupportActionBar();
		actionBar.setDisplayShowHomeEnabled(true);
		actionBar.setIcon(R.drawable.actionbar_icon);

在Android 2.2和2.3手机上完美执行...










以上是关于Android菜鸟的成长笔记(28)——Google官方对Andoird 2.x提供的ActionBar支持的主要内容,如果未能解决你的问题,请参考以下文章

意外收获Gtihub上这套“Andorid从底层基础到架构成长笔记”,果然高手与菜鸟之间差距不止一点点!

Android菜鸟成长记15 -- BitMap

Android菜鸟成长记5-ADB和sqllite

Android菜鸟成长记1 -- JSON的解析

Android菜鸟成长记8 -- 布局实践(微信界面的编写)

Android菜鸟成长记12 -- ORMLite的简单使用