【发布时间】:2016-05-09 09:30:55
【问题描述】:
我显然尝试过很多类似的问题但没有帮助。
在启动画面之后,我的应用显示了一个带有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。请假装。
我们将不胜感激。 欢迎提出修改建议。
【问题讨论】:
-
为什么不扩展
AppCompatActivity(support.v7) ?另外,你不需要调用setSupportActionBar,你可以实现一个独立的actionbar。有两种方法可以将操作栏添加到您的活动中。 -
@danypata 在学习实现 viewPager 时,有人告诉我扩展 FragmentActivity 以实现 viewPager。阅读您的评论后,我尝试了 AppCompatActivity 并且也可以正常工作。我还是新手,所以对它没有太多的控制权
标签: android android-fragments android-actionbar android-viewpager android-toolbar