这是可能的。如果您有2个页面,请创建2个菜单资源文件res > menu。例如
menu_one.xml
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="mcrime.com.mcrime.MainActivity">
android:id="@+id/send_icon"
android:orderInCategory="100"
android:icon="@drawable/ic_send_white_24dp"
android:title="Send Report"
app:showAsAction="always" />
menu_2.xml
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="mcrime.com.mcrime.MainActivity">
android:id="@+id/make_a_call"
android:orderInCategory="100"
android:icon="@drawable/ic_call_white_24dp"
android:title="Make Call"
app:showAsAction="always" />
然后在您的MainActivity:
private ToolBar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity_name);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
setUpVariables();
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
private void setUpVariables(){
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
SlidingTabLayout slidingTabLayout = (SlidingTabLayout) findViewById(R.id.tab_layout);
viewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager()));
slidingTabLayout.setCustomTabView(R.layout.tab_view, R.id.tab_text_view);
slidingTabLayout.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
@Override
public int getIndicatorColor(int position) {
return getResources().getColor(R.color.colorAccent) ;
}
});
slidingTabLayout.setDistributeEvenly(true);
slidingTabLayout.setViewPager(viewPager);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if(position == 0){
MCrime.this.setTitle("Your custom title");
toolbar.getMenu().clear();
toolbar.inflateMenu(R.menu.menu_one);
} else if(position == 1){
MCrime.this.setTitle("Your custom title");
toolbar.getMenu().clear();
toolbar.inflateMenu(R.menu.menu_2);
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
您需要创建您的寻呼机适配器
public class ViewPagerAdapter extends FragmentStatePagerAdapter {
String [] titles = {"Title One", "Title Two", };
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment;
if(position == 0){
fragment = new FragmentOne();
return fragment;
}
if(position == 1){
fragment = new FragmentTwo();
return fragment;
}
return null;
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
return titles[position];
}
}