【问题标题】:Custom action bar for each fragment - not menu每个片段的自定义操作栏 - 不是菜单
【发布时间】: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


    【解决方案1】:

    您可以构建自己的操作栏,我的意思是您应该创建一个动态片段并在操作栏上使用它并将其样式设置为操作栏,使用框架布局作为片段的 plcaeholder当您滑动片段时,将操作栏片段替换为新片段

    【讨论】:

    • 您的解决方案似乎是合理的,但是否可以使用我在编辑的第一篇文章中建议的方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多