我有很多问题,我显然已经尝试但没有帮助。
在启动画面后,我的应用会显示viewPager
的活动。我将此活动称为FragmentContainer
,因为它包含viewPager。现在只是因为此FragmentContainer
扩展FragmentAcitity
我无法使用setSupportActionBar()
来设置我的自定义工具栏。
fragment_container.xml 是这样的:
<RelativeLayout>
<com.astuetz.PagerSlidingTabStrip
android:background="?attr/colorPrimary"
android:id="@+id/tabs"
android:layout_below="@id/toolbar_top_fc"
android:layout_height="?attr/actionBarSize"
android:layout_width="match_parent"
android:textColorPrimary="@android:color/white"
app:pstsIndicatorColor="@color/colorAccent"
app:pstsPaddingMiddle="true"
app:pstsTabPaddingLeftRight="24dp" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_below="@id/tabs"
android:layout_height="match_parent"
android:layout_width="match_parent">
</RelativeLayout>
FragmentContanier.java
public class FragmentContainer extends FragmentActivity {
ViewPager viewPager = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_container);
viewPager = (ViewPager) findViewById(R.id.pager);
FragmentManager fragmentManager = getSupportFragmentManager();
viewPager.setAdapter(new MyAdapter(fragmentManager));
viewPager.setCurrentItem(1);
//Tabs
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
tabs.setViewPager(viewPager);
}
}
class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
if (position == 0) {
fragment = new FragmentEdit();
} else if (position == 1) {
fragment = new FragmentMain();
} else if (position == 2) {
fragment = new FragmentSavedMessages();
}
return fragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
CharSequence title = null;
if (0 == position) {
title = "Edit";
} else if (1 == position) {
title = "Main";
} else if (2 == position) {
title = "Save";
}
return title;
}
}
我需要帮助实现自定义actionBar。请假装。
任何帮助都将不胜感激。 随意建议编辑。
答案 0 :(得分:1)
您无法为片段创建单独的工具栏。但您可以根据您的片段自定义父活动工具栏,在片段sethasoptionsmenu(true);
的onCreateView中设置并在
@Override
public void onCreateOptionsMenu(
Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.activity_itemdetail, menu);
}