将工具栏设置为FragmentActivity



还有很多类似的问题,我显然试过了,但没有帮助。

紧接着,我的应用程序显示了一个带有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。请伪装一下

如有任何帮助,我们将不胜感激请随时提出编辑建议

片段不能有单独的工具栏。但你可以根据你的片段自定义父活动工具栏,在片段sethasoptionsmenu(true);的onCreateView中设置,并在中膨胀你的自定义菜单项

@Override
public void onCreateOptionsMenu(
      Menu menu, MenuInflater inflater) {
   inflater.inflate(R.menu.activity_itemdetail, menu);
}

相关内容

  • 没有找到相关文章

最新更新