Actionbarsherlock 简明教程
ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式。
对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏实现将自动围绕布局。能够让开发者轻松开发一款带动作栏(Action bar)的应用,并且适用于Android 2.x及其以上所有版本。
那既然项目很好很强大的话,怎么使用他了?
首先,出github上下载这个项目。相应的项目的地址是https://github.com/JakeWharton/ActionBarSherlock,他的官网是http://actionbarsherlock.com/,下载即可,现在的最新的版本是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文件如下:
!-- actionbarsherlock 菜单 -- menu xmlns:android="http://schemas.android.com/apk/res/android" !-- custom 客户项目 -- item android:id="@+id/menu_search" android:showAsAction="ifRoom" android:title="@string/action_label_search" android:actionView / !-- icon 图标项目 -- item android:id="@+id/menu_refresh" android:showAsAction="ifRoom" android:title="@string/action_label_refresh" android:icon="@drawable/ic_menu_refresh_holo_light" / !-- icon + text 图标 文本-- item android:id="@+id/menu_both" android:showAsAction="ifRoom|withText" android:title="@string/action_label_both" android:icon="@drawable/ic_menu_star_holo_light" / !-- text 文本内容-- item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" / item android:id="@+id/menu_logo" android:showAsAction="ifRoom" android:checkable="true" android:checked="false" android:title="@string/action_label_logo" / item android:id="@+id/menu_up" android:showAsAction="ifRoom" android:checkable="true" android:checked="false" android:title="@string/action_label_up" / !-- Navigation submenu 导航的子菜单 -- item android:id="@+id/menu_nav" android:title="@string/action_label_nav" menu group android:id="@+id/menu_nav_group" android:checkableBehavior="single" item android:id="@+id/menu_nav_tabs" android:title="@string/action_label_nav_tabs" android:checked="true" / item android:id="@+id/menu_nav_drop_down" android:title="@string/action_label_nav_drop_down" / item android:id="@+id/menu_nav_label" android:title="@string/action_label_nav_label" / /group /menu /item !-- action bar background submenu 背景子菜单层级关系-- item android:id="@+id/menu_bak" android:title="@string/action_label_bak" menu group android:id="@+id/menu_bak_group" android:checkableBehavior="single" item android:id="@+id/menu_bak_none" android:title="@string/action_label_bak_none" android:checked="true" / item android:id="@+id/menu_bak_gradient" android:title="@string/action_label_bak_gradient" / !-- item android:id="@+id/menu_bak_9_patch" android:title="@string/action_label_image" / -- /group /menu /item /menu要使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 点击后,重新加载相应的视图。
其运行的效果如下:
这就是Actionbarsherlock 简明教程,恳请大家斧正。
Android Studio作为基于IDE的专业开发Android的开发工具,插件市场为我们提供了各种方便快捷、提高工作效率的插件,本文记录一些比较常用的插件。
Android项目实战(三十九):Android集成Unity3D项目(图文详解) 原文:Android项目实战(三十九):Android集成Unity3D项目(图文详解) Unity3D 一般用于做游戏 而且是跨平台的。原本设计是Android 应用端A(原生开发)进行一些业务处理,最后由A 打开Android 应用端B(Unity3D 游戏开发)进行游戏操作。
Android项目实战(三十五):多渠道打包 原文:Android项目实战(三十五):多渠道打包 多渠道打包: 可以理解为:同时发布多个渠道的apk。分别上架不同的应用商店。这些apk带有各自渠道的标签,用于统计分析各个商店的下载次数等数据。
Gradle2.0用户指南翻译——第十二章. 使用Gradle 图形用户界面 翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/2.0 。
相关文章
- 106. CTCN移动办公常用软件及使用教程
- AWK 简明教程
- Git 简明教程
- MarkDown简明教程
- VueJS简明教程(一)之基本使用方法
- 为Ubuntu 20.04 设置静态IP简明教程(转)
- Docker教程---四种网络模式
- DOCKER简明教程 : 通过容器连接REDIS数据库
- oracle sql语言模糊查询--通配符like的使用教程
- Python视觉深度学习系列教程 第二卷 第9章 Kaggle竞赛:Cat与Dog
- 【OpenCV-Python】教程:6-2 Pose Estimation (姿态估计)
- git简明教程:基本操作命令
- typescript入门简明教程
- Java 8简明教程
- 【第3版emWin教程】第56章 emWin6.x的摄像头OV7670动态图形显示
- 【STM32H7教程】第20章 STM32H7的GPIO应用之无源蜂鸣器
- SAP UI5 应用开发教程之四十一 - Chrome 扩展 UI5 Inspector 的离线安装和使用方法试读版
- Atitit mybatis使用简明教程 目录 1.1. Mybatis.xml 配置文件1 1.2. Datamp.xml mapper文件主要作用是分模块放sql语句2 1.3. 查询
- SAP UI5 初学者教程之二:SAP UI5 的引导过程(Bootstrap) 试读版
- Android Studio的JNI开发快餐教程
- 一天学完spark的Scala基础语法教程九、迭代器(idea版本)
- 一、奇妙插件Tampermonkey的简单安装教程
- lxml简明教程
- CSDN Markdown简明教程4-UML画画
- zigbee教程
- Linux下CMake简明教程(九) 添加控制选项
- Linux下CMake简明教程(三)同一目录下多个源文件
- 戴尔游匣G16电脑U盘安装系统操作教程分享
- 一文8000字详解Pytest自动化测试框架【保姆级教程】
- 简单的异步任务工具——rq 的使用教程
- WPF教程:依赖属性
- 一天学完spark的Scala基础语法教程六、字符串(idea版本)
- Microsemi Libero SoC 教程2 (点亮LED闪烁)
- ros教程
- Linux下CMake简明教程(八) 添加编译选项
- 2023年中职网络安全竞赛——文件分析破解解析教程(详细)