前言
为子Activity提供导航到home Activity的策略,可以提高你的app的清晰性,提高用户体验。
方法一
- 修改AndroidManifest.xml,在子Activity的属性中写上父Activity;
<activity
android:name=".ui.activity.AddActivity"
android:label="@string/title_activity_add"
android:parentActivityName=".MainActivity"
android:theme="@style/AppTheme.NoActionBar" />
- 在子Activity的
onCreate
中,将返回键显示出来;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
方法二
- 在子Activity的
onCreate
中,将返回键显示出来;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- 覆写
onOptionsItemSelected
方法;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
UIHelper.returnHome(this);
return true;
}
return super.onOptionsItemSelected(item);
}
- 创建并调用
UIHelper.returnHome
方法;
public static void returnHome(Context context) {
Intent intent = new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
}
总结
- 两种方法都亲测有效;
- 方法一点返回键时,父页面是显示出来,覆盖掉子页面的;方法二是子页面消失,显示出父页面的;
- 个人更倾向于方法二,因为更加灵活,并且看起来更像是做了返回的动作;