本篇文章主要介绍了"Android最佳实践之实现高效的应用导航(三) - 提供Up导航",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下:
参考地址:http://developer.android.com/training/implementing-navigation/ancestral.htm...
参考地址:http://developer.android.com/training/implementing-navigation/ancestral.html
这节课讨论如何在ActionBar上添加一个Up按钮,实现上一级的导航。

图1:ActionBar上的Up按钮
指定一个父Activity
为实现Up导航,第一步就是要声明哪个Activity是每个当前Activity的父Activity。这样做是为了让系统更好的在manifest文件中确认逻辑上的父Activity。
从Android 4.1(API 16)开始,你可以在元素中设置android:parentActivityName属性为Activity指定一个逻辑的父Activity。
如果你的App支持Android 4.0或更早的版本,需依赖Support Library,在Activity中添加元素,设置android.support.PARENT_ACTIVITY属性,这个和android:parentActivityName对应。
例如:
... >
...
"com.example.myfirstapp.MainActivity"...>
...
"com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
"android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
这样声明之后,可以使用NavUtils的API导航到父Activity。NavUtils下面会讲到。
处理Up行为
调用setDisplayHomeAsUpEnabled(),使ActionBar上的icon有Up的导航功能:
@Override
public void onCreate(Bundle savedInstanceState) {
...
getActionBar().setDisplayHomeAsUpEnabled(true);
}
上述代码会在ActionBar上的App icon左边添加一个左向的箭头,点击它会回调 onOptionsItemSelected(),其id是android.R.id.home。
导航到父Activity