博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Actionbarsherlock 简明教程
阅读量:6429 次
发布时间:2019-06-23

本文共 2080 字,大约阅读时间需要 6 分钟。

ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式。

对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于 Ice Cream Sandwich的自定义动作栏实现将自动围绕布局。能够让开发者轻松开发一款带动作栏(Action bar)的应用,并且适用于Android 2.x及其以上所有版本。

那既然项目很好很强大的话,怎么使用他了?

首先,出github上下载这个项目。相应的项目的地址是,他的官网是,下载即可,现在的最新的版本是4.4.0.

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

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

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

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

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

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

要使ActionBar显示menu按钮,得重写MainActivity中的onCreateOptionsMenu方法,相应源代码如下:

getSupportMenuInflater().inflate(R.menu.main_menu, menu);        // set up a listener for the refresh item        final MenuItem refresh = (MenuItem) menu.findItem(R.id.menu_refresh);        refresh.setOnMenuItemClickListener(new OnMenuItemClickListener() {            // on selecting show progress spinner for 1s            public boolean onMenuItemClick(MenuItem item) {                // item.setActionView(R.layout.progress_action);                handler.postDelayed(new Runnable() {                    public void run() {                        refresh.setActionView(null);                    }                }, 1000);                return false;            }        });        return super.onCreateOptionsMenu(menu);

通过观察,我们可以清晰的观察出来,通过某个menuItem 点击后,重新加载相应的视图。

其运行的效果如下:

 

转载地址:http://xhnga.baihongyu.com/

你可能感兴趣的文章
八大排序算法的Java实现
查看>>
IDEA+Maven+Tomcat构建项目流程
查看>>
java 线程机制
查看>>
数据是重要的战略资源,数据同样是产品非常重要的组成部分。淘宝对中国最大的贡献,不只是方便了老百姓购物,而是把中国消费者的消费习惯数据慢慢沉淀下来。...
查看>>
Leetcode Find Minimum in Rotated Sorted Array
查看>>
Python接口测试-使用requests模块发送post请求
查看>>
System.currentTimeMillis()计算方式与时间的单位转换
查看>>
Extra:Variable Types
查看>>
js传参时,没有参数传入,默认值的设置
查看>>
ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程Thread中委托的使用(六)...
查看>>
使用 Spring HATEOAS 开发 REST 服务
查看>>
最新整理知识结构图
查看>>
linux安装mysql
查看>>
flask 2 进阶
查看>>
JS 循环遍历JSON数据
查看>>
sentences in movies and teleplays[1]
查看>>
【20181023T1】战争【反向并查集】
查看>>
win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!
查看>>
iOS9 未受信任的企业级开发者
查看>>
paper 40 :鲁棒性robust
查看>>