«

ActionBar基本简介

时间:2024-3-2 18:23     作者:韩俊     分类: Android


ActionBar基本简介

学习笔记,欢迎指导。

△本文介绍如下内容:

→ActionBar的简介。

→如何添加ActionBar。

→为ActionBar设置按钮。

→为子窗体设置回退键返回到上一级的窗体。

本文只作基本介绍,ActionBar丰富且强大的功能不在本文范围。

△概述:他提供了多种UI特性,让你的APP和其他的保持较多的一致性,为用户熟悉,核心的功能包括:

→一个专门的空间来显示你的应用的标识,并且可以指出当前处在应用的哪个页面。

→以一类可预见的方式访问重要的操作(比如检索)

→支持导航和视图切换(通过Tabs以及下拉列表)

△如何添加Action Bar


→在安卓3.0以及更新的版本,所有窗体都默认带有Action Bar。只要窗体的主题是

"@android:style/Theme.Holo"体系里的一员即可。如果你使用了自定义的主题,记得将你主题那个parent属性设为”@android:style/Theme.Holo”体系里的其中一个。


→在安卓3.0以前的版本里,需要:


(1)下载并安装v7 appcompat的jar包。

(2)使自己的窗体继承:ActionBarAvtivity。

(3)在清单文件里设置窗体主题标签:

android:theme = “@style/Theme.AppCompat”。(是Theme.AppCompat体系里的一员即可)

(4)如果你使用了自定义的主题,他必须是Theme.AppCompat体系里一员。

△为Action Bar添加按钮

→某个窗体的ActionBar的所有按钮,都有res/menu/路径下的一个文件管理,所以只要创建一个文件,并且进行相应配置即可,步骤如下:

→在res/menu/路径创建一个xml的文件(一般情况下系统默认都建了一个)。

→文件里面添加一个<menu>标签,他代表了所有按钮。

→在menu标签里,添加<item>标签,每个<item>标签代表栏目里的一个按钮。为item设置属性:id、title、icon、showAsAction。

→以上已经完成一个栏目的配置了,现在回到窗体里面将栏目和窗体绑定:

复写如下方法即可完成绑定:

public boolean onCreateOptionsMenu(Menu menu) {

//第一个参数要传入上述那个文件的名字
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

△为按钮设置响应

复写如下方法即可:

public boolean onOptionsItemSelected(MenuItem item) {

int id = item.getItemId();
if (id == R.id.action_settings) {
//做你自己想做的事

return true;

}

//如果没有一个对上

//返回超类那个ID

return super.onOptionsItemSelected(item);

}

△为子窗体设置回退按钮

→设置步骤:

(1)为子窗体指定其上一级窗体。

(2)让子窗体能显示出一个回退键。

(3)当回退按钮被按下,回到上一级的窗体。

→API16以上的版本:这类版本后面两个步骤在一个方法里面被完成。

(1)指定上一级的窗体:在清单文件里面,子窗体的那个标签,设置属性,

Android:parentActivityName=”上一级窗体的类名”(必须使用完整类名)

(2)在子窗体onCreate方法体里,调用方法:getActionBar().setDisplayHomeAsUpEnabled(true);

说明:对于API16以上的版本,这里就已完成设置,你不用去处理点击事件,系统会自动完成的(因为系统已经知道你的上一级窗体是谁了),那个回退键头的显示和点击事件响应,都有该方法完成了。

→API16以前的版本,由于没有parentActivityName属性,所要进行其他设置,而且还要自己处理点击事件响应函数,步骤如下:

(1)设置<meda-data>标签(通过他来指定上一级的窗体):

<meda-data

android:name=”android.support.PARENT_ACTIVITY”

android:value=”上一级窗体的类名”/>(同样是要完整类名)

<meda-data>

(2)显示那个回退键头:在onCreate方法体里面调用

1>getActionBar.setDisplayHomeAsUpEnabled(true)//API11以后调用他

//API11以前调用下面的

2>getSupportActionBar.setDisplayHomeAsUpEnabled(true);

根据API的版本选择一个就可以了

3>处理回退键的点击事件:

子窗体里复写方法:

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case android.R.id.home://这是回退键特有的ID

//调用他能返回上一级的窗体

NavUtils.navigateUpFromSameTask(this);

break;
}
return super.onOptionsItemSelected(item);
}

//至此,回退键的设置结束。

标签: android

热门推荐