Action bar 最基本的形式,就是为 activity 显示标题,并可以显示action 按钮,他告诉用户当前所处的位置。如图:

这就是上一节中的actionbar。

2.如何使用ActionBar

设置一个基本的 action bar,需要 app 使用一个 activity 主题,该主题必须是 action bar 可用的。如何声明这样的主题取决于我们 app 支持的 Android 最低版本。一般我们的app支持的Android最低版本分为两部分。

仅支持 Android 3.0 及以上版本

从 Android 3.0(API lever 11) 开始,所有使用 T 主题(或者它的子类)的 Activity 都包含了 action bar,当 targetSdkVersion 或 minSdkVersion 属性被设置成 “11” 或更大时,它是默认主题。

所以,要为 activity 添加 action bar,只需简单地设置属性为 11 或者更大。如下:

<manifest … >

<uses-sdk android:minSdkVersion="11" … />

</manifest>

注意:如果创建了一个自定义主题,需确保这个主题使用一个 T的主题作为父类。

支持 Android 2.1 及以上版本

当 app 运行在 Andriod 3.0 以下版本(不低于 Android 2.1)时,如果要添加 action bar,需要加载 Android Support 库。

首先需要集成Support Library,通过Support Library Setup文档来建立v7 appcompat library,集成完毕之后,按照下面步骤操作:

a.更新 activity,以便于它继承于 ActionBarActivity。如:

public class MainActivity extends ActionBarActivity { … }

b.在 mainfest 文件中,更新 <application> 标签或者单一的 <activity> 标签来使用一个 T 主题。如:

<activity android:theme="@style/T.Light" … >

如果创建一个自定义主题,需确保其使用一个 T 主题作为父类

c.在 manifest 中正确地设置 app 支持的 API level:

<manifest … >

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" />

</manifest>

3.看到这里你认为这节已经结束了,那就错了,以上的方法是原来传统的方法,在google的最新文档中,ActionBar已经被toolbar替换了,toolbar的好处是,不用再区分android版本,所有的设备可以使用同一份代码。下面是toolbar的使用方法:

a.通过Support Library Setup文档来集成v7 appcompat library

b.更新actvity,继承AppCompatActivity:

public class MyActivity extends AppCompatActivity {

// …

}

注意:所有的activity都要修改一下。

c.修改manifext:

<application

android:theme="@style/T.Light.NoActionBar"

/>

d.添加toolbar到activity对应的layout文件,如:

<android.

android:id="@+id/my_toolbar"

android:layout_width="match_parent"

android:layout_height="?attr/actionBarSize"

android:background="?attr/colorPrimary"

android:elevation="4dp"

android:theme="@style;

app:popupTheme="@style;/>

e.在activity的onCreate方法中调用setSupportActionBar方法,参数为activity的toolbar,这个方法会把toolbar设置为这个activity的app bar。如:

@Override

protected void onCreate(Bundle savedInstanceState) {

(savedInstanceState);

setContentView);

Toolbar myToolbar = (Toolbar) findViewById);

setSupportActionBar(myToolbar);

}

这样之后,app就拥有了一个基本的action bar,默认包含activity name以及一个overflow menu。这个menu默认只有setting 项,我们可以添加更多的操作在action bar上以及menu上面。

4.总结

以上就是老的使用action bar以及目前新的通用的action bar的使用方法。强烈建议我们在使用action bar的时候都使用最新的通用的android版本无关的方法。接下来的关于Action bar的一些高级操作也都基于最新的google的官方文档来学习而不再关心老的方法。

如果对编程感兴趣,想了解更多的编程知识,解决编程问题,以及入门指导,帮你解决编程中遇到的困惑,我们这里有java高手,C++/C高手,windows/Linux高手,android高手,请大家关注微信公众号:程序员互动联盟,关注后输入关键字 干货 获取编程自学手册

公众号:coder_online

本文属原创,禁止转载,谢谢

相关推荐