天天看点

《Android 平板电脑开发实战详解和典型案例》——2.4节动作条——ActionBar

本节书摘来自异步社区《android 平板电脑开发实战详解和典型案例》一书中的第2章,第2.4节动作条——actionbar,作者 吴亚峰 , 杜化美 , 索依娜,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.4 动作条——actionbar

android 平板电脑开发实战详解和典型案例

android 3.0正式引入了actionbar控件,抛弃了传统的导航功能,使用软件按钮取代了物理主屏、菜单、后退等按钮,规范了应用程序的导航设计。向开发人员提供了一个相对较新的导航控件,提供了更丰富的功能。

本节将介绍动作条actionbar的基础知识与简单应用。主要内容是显示选项菜单和提供标签页的切换方式的导航以及提供下拉列表条目导航的操作。

2.4.1 显示选项菜单基本知识

actionbar上有空间时才会显示选项菜单,否则会置于系统默认的菜单里面。一个选项菜单可以包含图标、文本或者两个兼有,这些都可以在菜单配置文件中进行设置。菜单资源在菜单配置文件中的相关属性如表2-2所示。

《Android 平板电脑开发实战详解和典型案例》——2.4节动作条——ActionBar

对于菜单资源中的其他属性,由于篇幅所限,笔者将不再一一赘述,请读者自行查阅相关的api。

2.4.2 显示选项菜单使用案例

通过前面的介绍,读者对显示选项菜单已经有了简单的了解,下面通过案例sample2_4使读者进一步掌握显示菜单的使用。在介绍开发案例之前,首先请读者了解一下本案例的运行效果,如图2-13、图2-14和图2-15所示。

《Android 平板电脑开发实战详解和典型案例》——2.4节动作条——ActionBar

图2-13是运行案例后的效果图,图2-14和图2-15是单击图2-13中actionbar里的选项菜单后出现的效果图。

了解了案例的运行结果之后,下面开始介绍案例的开发,具体步骤如下。

(1)首先需要编写的是选项菜单配置文件menu.xml的开发,其代码如下。

该菜单文件的布局比较简单,在一个菜单布局中添加了几个菜单项。值得注意的是,每个菜单项中的属性android:onclick是指单击本菜单项后调用以此属性值为名的方法。

(2)完成了菜单配置文件menu.xml的开发后,下面将要开发的是单击显示菜单项后跳转到actvity的配置文件scrub.xml的开发,其代码如下。

该界面的布局比较简单,在一个充满整个屏幕的scrollview控件中放置了一个linearlayout控件,在linearlayout控件里面放置了textview和imageview。

(3)完成了单击菜单项后跳转到actvity的配置文件scrub.xml开发后,下面将要开发的是单击菜单项后跳转到activity对应的类scrubactivity的开发,其代码如下。

第6~11行为初始化界面。其中第6~9行为设置布局界面和获取添加的文本,第10~11行为获取textview对象后添加内容。

第12~23 行为获取文本的方法。第15~19行为获取文件然后新建一个byte数组,把内容读到byte数组里面,然后转换成字符串返回。

由于篇幅有限,只介绍其中一种单击菜单项后所跳转到的activity的开发。

(4)完成了单击菜单项后所跳转到activity对应的类scrubactivity的开发后,下面将要开发的是主activity对应的类actionbarex的开发,其代码如下。

第5~12行为重写父类方法,第6~7行为调用父类方法和设置布局界面,第10~11行为加载菜单配置文件,把菜单添加到actionbar。

第13~18行为在菜单配置文件当中android:onclick对应的方法,每个方法都发送一个intent跳转到对应的界面。

2.4.3 提供标签页切换方式的导航功能基本知识

actionbar可以显示标签页,使用户可以在不同fragment之间进行切换来显示各自的内容,fragment的继承树如图2-16所示。每个标签页可以包含图标或者文本。标签页进行交互事件时必须实现actionbar.tablistener接口。

《Android 平板电脑开发实战详解和典型案例》——2.4节动作条——ActionBar

2.4.4 提供标签页切换方式导航功能使用案例

通过前面的介绍,读者对提供标签页的导航已经有了一个基本的了解,下面通过一个简单的案例sample2_5使读者进一步掌握导航功能的使用,在正式介绍此案例的开发步骤之前,首先请读者了解一下此案例的运行效果,如图2-17、图2-18和图2-19所示。

《Android 平板电脑开发实战详解和典型案例》——2.4节动作条——ActionBar

图2-17为运行该案例后的效果图,单击标签会显示图2-18、图2-19的效果。

了解了案例的运行效果之后,下面开始介绍案例的开发,具体步骤如下。

(1)首先需要编写的是主配置文件main.xml的开发,其代码如下。

该布局界面比较简单,一个充满屏幕的竖直排列的linearlayout中放置了一个用来放置显示诗词的水平排列的linearlayout。

(2)完成了配置文件main.xml的开发后,下面将要开发的是主activity对应的类actionbarex2

activity的开发,其代码如下。

第3~21行为初始化界面。![图片8~10行为获得actionbar对象及启动tab模式和设置标题。![图片11~21行为创建fragment对象及设置tab标题和调用单击tab时的方法。

第22~60行为创建3个继承fragment的类,每个类都创建一个scrollview和textview。用textviw来添加文本并添加到scrollview,并返回scrollview。

第61~70行为实现actionbar.tablistener接口的类,第62~64行为增加了一个构造方法,用于保存tab相关的fragment进行添加或删除。第65~70行为添加或删除fragment的方法。

2.4.5 提供下拉列表导航功能基本知识

为了给activity提供内容并进行界面切换,actionbar还提供了下拉列表导航功能。接口spinneradapter是为下拉列表提供内容和列表界面的布局,其继承关系如图2-20所示。接口actionbar.onnavigationlistener是为当列表被选择时进行的操作。

《Android 平板电脑开发实战详解和典型案例》——2.4节动作条——ActionBar

2.4.6 提供下拉列表导航功能使用案例

通过前面的基本知识,读者对提供下拉列表导航功能已经有了基本的了解。下面通过案例sample2_6使读者进一步掌握下拉列表功能的使用,在正式介绍此案例的开发步骤之前首先请读者了解一下本案例的运行效果,如图2-21、图2-22和图2-23所示。

《Android 平板电脑开发实战详解和典型案例》——2.4节动作条——ActionBar

单击图2-21下拉列表里的选项时会显示图2-22和图2-23的效果。

了解了案例的运行效果之后,下面开始介绍案例的开发,具体步骤如下。。

(1)首先需要编写的是选择下拉列表的选项时跳转到activity的配置文件scrub.xml的开发。其代码如下。

该界面的布局比较简单,在一个充满整个屏幕的scrollview控件中放置了一个linearlayout控件,在linearlayout控件里面放置了textview和imageview。由于篇幅有限只介绍其中一种选择下拉列表选项时所跳转到activity的配置文件的开发。

(2)完成了配置文件scrub.xml的开发后,下面将要开发的是选择下拉列表选项时跳转到的activity对应的类scrubactivity的开发,其代码如下。

第12~23行为获取文本的方法。其中第15~19行为获取文件然后新建一个byte数组,把内容读到byte数组里面,然后转换成字符串返回。

(3)完成了选择下拉列表选项时跳转到的activity对应的类scrubactivity的开发后,下面将要介绍的是主activity对应的类actionbarex3activity的开发,其代码如下。

第8~12行为获得一个actionbar对象后启用列表导航模式及创建一个spinneradapter对象为列表提供内容和布局。

第13~26行为用匿名内部类实现onnavigationlistener接口,为每一个选中的选项发送一个intent来跳转到相应的界面。

继续阅读