你的应用程序应当使得用户能够很容易的返回到主界面中。实现这个功能是一个简单的办法在菜单栏中提供一个向上的按钮,每当用户点击这个按钮就能回到上一级的交互界面中。
想要实现这一功能。你需要在主清单文件中通过设置android:parentActivityName 属性,去声明你当前交互界面的上一级交互界面。
这个属性android:parentActivityName,是在Android 4.1(API16) 引进的,旧的版本想要实现这一功能需要定义一个<meta-data> 的name-value的键值对。name为"android.support.PARENT_ACTIVITY",value就是上一级交互界面的名字。
举个例子,假如你的主交互界面为MainActivity,另外一个其他界面,现在演示通过其他界面返回到主界面的代码。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nie.aboutofactionbar">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/main_name"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Main2Activity"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity">
</meta-data>
</activity>
</application>
</manifest>
除了在主清单文件中设置,你还需要在代码中设置允许这个向上的按钮生效,需要在当前界面OnCreate()方法中调用ActionBar中的setDisplayHomeAsUpEnabled()方法。
OK!功能实现成功!public class Main2Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); } }
希望对你有所帮助