【发布时间】:2014-03-12 02:36:41
【问题描述】:
首先让我解释一下:我的应用程序计划使用 3 个带有滑动导航的活动。我为它们中的每一个使用不同的夏洛克动作条。
但由于无法在活动之间滑动,唯一的解决方案是使用片段。我实现了这一点,但遇到了一个问题:是否可以为每个片段自定义操作栏?因为现在我只坚持一个。我用谷歌搜索过,每个解决方案都基于一个菜单,但是是否可以将自定义样式应用于菜单和片段?
对不起,如果已经回答了,我在网上没有找到任何解决方案。
这种方法可以用吗?
公共类 ControlActivity 扩展 SherlockFragmentActivity {
ActionBar actionBar;
View actionBarView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewpager_layout);
ViewPager pager = (ViewPager) findViewById(R.id.viewpager);
pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
actionBar = getSupportActionBar();
actionBarView= getLayoutInflater().inflate(
R.layout.friend_list_ab_layout, null);
actionBar.setCustomView(actionBarView);
}
private class MyPagerAdapter extends FragmentPagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public SherlockFragment getItem(int pos) {
switch(pos) {
case 0:
actionBarView= getLayoutInflater().inflate(
R.layout.friend_list_ab_layout, null);
actionBar.setCustomView(actionBarView);
return MainActivity.newInstance();
case 1:
actionBarView= getLayoutInflater().inflate(
R.layout.news_feed_ab_layout, null);
actionBar.setCustomView(actionBarView);
return NewsFeed.newInstance();
default:
actionBarView= getLayoutInflater().inflate(
R.layout.friend_list_ab_layout, null);
actionBar.setCustomView(actionBarView);
return MainActivity.newInstance();
}
}
@Override
public int getCount() {
return 2;
}
}
}
【问题讨论】:
标签: java android android-fragments actionbarsherlock android-menu