ActionBarSherlock的使用——(一)配置 

简介:

从android 3.0开始,android加入了一个新的api,actoinbar,随着android 4.0的发布和慢慢的推广开来,很多应用也开始使用google推广的ui设计,而actionbar是其中相当重要的一部分。本人现在对IOS的那种设计有点厌烦,对安卓4.0的设计风格比较感兴趣,然而为了程序的兼容性,又要考虑低版本的问题,所以在这里需要使用到兼容包。

无奈google没有发布3.0之前版本的actionbar的兼容包。还好网上有提供开源的别人开发的,actionbarshelock,以下简称abs.

abs可以让2.x的系统也能使用actionbar,另外现在abs也提供了很多其他3.0以后才提供的功能,比如fragement。这里就只介绍actionbar的使用。

abs的还有一项值得一提的优点就是,如果你在3.0以上的机子上使用,那么它会调用系统原生的actionbar。另外它的使用方法和系统自身的方法相当相似,如果你actionbar本身已经很熟悉了,那么abs也能很快上手。

 

下载:

程序的下载可以到官网:http://actionbarsherlock.com/download.html  对于WINDOWS的同学来说下载.zip包即可,截止到我发文时,ABS的版本是4.3.1。

在官网中还有“USAGE”的链接,由于软件在不断的更新,教程肯定有力所不能及之处,所以具体的地方还是要看官网的使用说明。

 

引用:

1、下载好.zip文件以后,将其中的actionbarsherlock文件夹解压到硬盘上的一个位置。

2、打开Eclipse,选择:FIle——New——Project——Android project from Existing Code...然后选择要导入的文件夹,finish就好。

3、右击导入的工程,(应该叫actionbarsherlock),选择最下面一项,属性,在打开的对话框里找“android”,确认那个“is library”被勾选。这样这个项目才可以被当做一个库,让我们的项目来引用。

ActionBarSherlock的使用--------(一)配置_eclipse

4、打开个人项目的属性,(在本例中是actionBar),在android中添加Library,点击Add,并把我们刚才导入的库添加进去,有绿色对勾表示添加成功。

ActionBarSherlock的使用--------(一)配置_应用_02

5、导入成功后,通常会出现错误。错误的原因是android-support-v4.jar的重复引用。

因为在abs里引用了这个包,而我们的项目里也有这个包,而一般来说这两个包是不一样的,所以会发生错误。只需把两个包换成一样的即可。

如:把abs的libs文件夹里的android-support-v4.jar,复制到我们项目的libs文件夹下一份,并且覆盖掉。

 

使用:

导入成功后,我们要给我们的程序添加ActionBarSherlock.

1、在程序的AndroidManifest.xml文件中,修改主题,改为:

 

android:theme="@style/Theme.Sherlock.Light"  


 

 

2、打开程序文件,如:MainActivity.java,引用:

 

 

 

[java] view plaincopy
import com.actionbarsherlock.app.ActionBar;  
import com.actionbarsherlock.app.ActionBar.OnNavigationListener;  
import com.actionbarsherlock.app.SherlockActivity;  
import com.actionbarsherlock.view.Menu;  
import com.actionbarsherlock.view.MenuInflater;  
import com.actionbarsherlock.view.MenuItem;  


 

 

注意:上面的引用不一定全都会用到。

 

3、如果要让actionbar显示一些menu按钮,那么我们需要重写activity中的onCreateOptionsMenu,对应的还要重写onOptionsItemSelected来响应这些按钮的点击。另外该activity必须继承ShelockActivity

 

 

public class MainActivity extends SherlockActivity {      
            
    @Override      
    public void onCreate(Bundle savedInstanceState) {      
        super.onCreate(savedInstanceState);      
        setContentView(R.layout.activity_main);      
                    
    }      
                
    @Override      
    public boolean onOptionsItemSelected(MenuItem item) {      
        switch(item.getItemId()){      
        case R.id.menu_delete:      
            Toast.makeText(this, "delete", Toast.LENGTH_SHORT).show();      
            break;      
            
        }      
        return super.onOptionsItemSelected(item);      
    }      
                
    @Override      
    public boolean onCreateOptionsMenu(Menu menu) {      
        getSupportMenuInflater().inflate(R.menu.activity_main, menu);      
        return super.onCreateOptionsMenu(menu);      
    }      
                
}  


 

 

其中,R.menu.activity_main是菜单的布局文件。内容如下
 
[html] view plaincopy
<menu xmlns:android="http://schemas.android.com/apk/res/android" >  
   
    <item  
        android:id="@+id/add"  
        android:icon="@android:drawable/ic_menu_add"  
        android:showAsAction="ifRoom"  
        android:title="添加"  
        android:titleCondensed="添加">  
    </item>  
  
   
</menu>  


 
运行后,效果如图:(虚拟机版本,API-8 2.2)

 

这篇先写到这里,希望和大家能给这个文章一些指点。

转载请注明来自:http://blog.csdn.net/djy1992/article/details/20372003

简介:

从android 3.0开始,android加入了一个新的api,actoinbar,随着android 4.0的发布和慢慢的推广开来,很多应用也开始使用google推广的ui设计,而actionbar是其中相当重要的一部分。本人现在对IOS的那种设计有点厌烦,对安卓4.0的设计风格比较感兴趣,然而为了程序的兼容性,又要考虑低版本的问题,所以在这里需要使用到兼容包。

无奈google没有发布3.0之前版本的actionbar的兼容包。还好网上有提供开源的别人开发的,actionbarshelock,以下简称abs.

abs可以让2.x的系统也能使用actionbar,另外现在abs也提供了很多其他3.0以后才提供的功能,比如fragement。这里就只介绍actionbar的使用。

abs的还有一项值得一提的优点就是,如果你在3.0以上的机子上使用,那么它会调用系统原生的actionbar。另外它的使用方法和系统自身的方法相当相似,如果你actionbar本身已经很熟悉了,那么abs也能很快上手。

 

下载:

程序的下载可以到官网:http://actionbarsherlock.com/download.html  对于WINDOWS的同学来说下载.zip包即可,截止到我发文时,ABS的版本是4.3.1。

在官网中还有“USAGE”的链接,由于软件在不断的更新,教程肯定有力所不能及之处,所以具体的地方还是要看官网的使用说明。

 

引用:

1、下载好.zip文件以后,将其中的actionbarsherlock文件夹解压到硬盘上的一个位置。

2、打开Eclipse,选择:FIle——New——Project——Android project from Existing Code...然后选择要导入的文件夹,finish就好。

3、右击导入的工程,(应该叫actionbarsherlock),选择最下面一项,属性,在打开的对话框里找“android”,确认那个“is library”被勾选。这样这个项目才可以被当做一个库,让我们的项目来引用。

ActionBarSherlock的使用--------(一)配置_eclipse

4、打开个人项目的属性,(在本例中是actionBar),在android中添加Library,点击Add,并把我们刚才导入的库添加进去,有绿色对勾表示添加成功。

ActionBarSherlock的使用--------(一)配置_应用_02

5、导入成功后,通常会出现错误。错误的原因是android-support-v4.jar的重复引用。

因为在abs里引用了这个包,而我们的项目里也有这个包,而一般来说这两个包是不一样的,所以会发生错误。只需把两个包换成一样的即可。

如:把abs的libs文件夹里的android-support-v4.jar,复制到我们项目的libs文件夹下一份,并且覆盖掉。

 

使用:

导入成功后,我们要给我们的程序添加ActionBarSherlock.

1、在程序的AndroidManifest.xml文件中,修改主题,改为:

 

android:theme="@style/Theme.Sherlock.Light"  



 

 

2、打开程序文件,如:MainActivity.java,引用:

 

 

 

[java] view plaincopy
import com.actionbarsherlock.app.ActionBar;  
import com.actionbarsherlock.app.ActionBar.OnNavigationListener;  
import com.actionbarsherlock.app.SherlockActivity;  
import com.actionbarsherlock.view.Menu;  
import com.actionbarsherlock.view.MenuInflater;  
import com.actionbarsherlock.view.MenuItem;  



 

 

注意:上面的引用不一定全都会用到。

 

3、如果要让actionbar显示一些menu按钮,那么我们需要重写activity中的onCreateOptionsMenu,对应的还要重写onOptionsItemSelected来响应这些按钮的点击。另外该activity必须继承ShelockActivity

 

 

public class MainActivity extends SherlockActivity {      
            
    @Override      
    public void onCreate(Bundle savedInstanceState) {      
        super.onCreate(savedInstanceState);      
        setContentView(R.layout.activity_main);      
                    
    }      
                
    @Override      
    public boolean onOptionsItemSelected(MenuItem item) {      
        switch(item.getItemId()){      
        case R.id.menu_delete:      
            Toast.makeText(this, "delete", Toast.LENGTH_SHORT).show();      
            break;      
            
        }      
        return super.onOptionsItemSelected(item);      
    }      
                
    @Override      
    public boolean onCreateOptionsMenu(Menu menu) {      
        getSupportMenuInflater().inflate(R.menu.activity_main, menu);      
        return super.onCreateOptionsMenu(menu);      
    }      
                
}  



 

 

其中,R.menu.activity_main是菜单的布局文件。内容如下

[html] view plaincopy
<menu xmlns:android="http://schemas.android.com/apk/res/android" >  
   
    <item  
        android:id="@+id/add"  
        android:icon="@android:drawable/ic_menu_add"  
        android:showAsAction="ifRoom"  
        android:title="添加"  
        android:titleCondensed="添加">  
    </item>  
  
   
</menu>  




运行后,效果如图:(虚拟机版本,API-8 2.2)

 

这篇先写到这里,希望和大家能给这个文章一些指点。