我已经为其中一个片段设置了自定义操作栏,并且在背面按下时需要恢复到主要活动/导航抽屉中的主操作栏。
我在mainfest中为mainactivity设置了操作栏:
机器人:主题=" @风格/ AppTheme"
对于我的一个片段,我按如下方式设置自定义操作栏:
xml文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_horizontal" >
<TextView
android:id="@+id/Dest_Cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
/>
<TextView
android:id="@+id/Dest_Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
/>
<TextView
android:id="@+id/Dest_Send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:textColor="@color/ceiva_white"
/>
在mainActivity的restoreActionbar方法中,我执行以下操作:
public void restoreActionBar() {
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(mTitle);
if(mTitle.equals(getString(R.string.destinations_title)) }
//custom actionbar defined
LayoutInflater inflator = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.custom_destinations_action_bar, null);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setCustomView(v);
//next();
}
我在片段中调用resstoreActionbar()方法并设置标题以进行相应的更改。自定义操作栏已设置,但我无法恢复返回主要活动。或者更确切地说,我不知道如何恢复。请建议。