你的應用程序應當使得用戶能夠很容易的返回到主界面中。實現這個功能是一個簡單的辦法在菜單欄中提供一個向上的按鈕,每當用戶點擊這個按鈕就能回到上一級的交互界面中。
想要實現這一功能。你需要在主清單文件中通過設置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()方法。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);
}
}
OK!功能實現成功!希望對你有所幫助