ActionBar的向上导航和返回键

“向上”导航按钮用在应用内,根据应用的逻辑层级进行导航。举例来说,屏幕 A 显示了一个项目列表,点击其中一项到达屏幕 B ,那么屏幕 B 应当提供一个“向上”按钮,让用户可以回到屏幕 A。如果某个屏幕已经是该应用的顶层了 ,那不需要“向上”按钮。
系统的“返回”键则用于按照切换历史返回到之前的屏幕。
如果向上导航需要回到上一层,那么“返回”键和“向上”的行为是一样的。
官方介绍两种方式:一种是在Activity中配置好返回的Activity,这种方式对于不同Activity都能进入同一个Activity的情况显然不适合。因为配置死了要返回的Activity。另一种方式没有研究,听起来比较麻烦,需要实现两个方法,具体参考官方文档。
如果只是为了导航到上一层,那么灵活变动一下,下面方式的实现比较简单。              

通过如下代码显示“向上”导航按钮的显示,这时点击不会有任何反应。

    requestWindowFeature(Window.FEATURE_ACTION_BAR); //如不进行请求,下句获取的actionBar为null
        actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);   //设置显示向上导航按钮
        actionBar.show();                            //显示导航栏

然后,为导航箭头添加时间监听:

	switch (item.getItemId()) {
             case android.R.id.home:			
                onBackPressed();                        //调用返回键                 
                return true;
	}
另外备注下:如果需要实现底部导航栏,只需为所在的Activity配置 android:uiOptions="splitActionBarWhenNarrow"在manifest中。

你可能感兴趣的:(Android散笔)