如何在viewpager中添加一个覆盖viewpager选项卡的片段

时间:2014-10-22 23:43:29

标签: android android-fragments android-viewpager fragmenttransaction

目前我根据documentation设置了一个viewpager。在第一个片段选项卡中,我设置了一个包含cardview列表的回收站视图。在每个cardview中,我有一个按钮,应该打开一个新的片段。我希望这个新片段与操作栏标签重叠(类似于点击评论按钮时facebook评论的工作方式)。我不知道如何让它发挥作用。我在viewpager上方创建了一个额外的framelayout和相对布局,希望它会重叠,但这似乎不起作用。如何让我的新片段覆盖操作栏标签?如果有意义,我不会问如何替换当前的viewpager片段。

我用红色背景填充了新片段,在调用onclick监听器之后的结果如下所示:http://i.imgur.com/yHYpzGr.png

在我的onclick听众中,我有:

FragmentManager fragmentManager = activity.getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.container, commentFragment,"comment_fragment_tag");
fragmentTransaction.commit();

我的主要活动布局包含viewpager:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/main_activity">
        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </RelativeLayout>
</FrameLayout>

1 个答案:

答案 0 :(得分:0)

试试这个..希望它有效

    FragmentManager fragmentManager = activity.getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    fragmentTransaction.replace(R.id.container, commentFragment,"comment_fragment_tag");
    fragmentTransaction.commit();

            Fragment fr = new FragmentTwo() ;
            FragmentManager fm = getFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            ft.replace(R.id.container, fr);
            ft.commit();

听到fr是将被替换的新片段