1

我正在使用android.support.v4.view.ViewPager导航,

我想要做的是在ViewPager

在我的活动中,我这样做:

FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
trans.add(R.id.main_layout, frag);
trans.addToBackStack(null);
trans.commit();

但我想我的问题是ViewPager不是 aFragment或 inR.id.main_layout

这是activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    tools:context=".MainActivity" >

    <!--
        This title strip will display the currently visible page title, as well as the page
        titles for adjacent pages.
    -->

    <android.support.v4.view.PagerTitleStrip
        android:id="@+id/pager_title_strip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:background="#33b5e5"
        android:paddingBottom="4dp"
        android:paddingTop="4dp"
        android:textColor="#fff" />

</android.support.v4.view.ViewPager>
</RelativeLayout>

我也试过了trans.add(R.id.pager, frag),也没用。

发生的情况是另一个片段打开但ViewPager仍然低于接收输入。

编辑这里有更多信息:

我的 MainActivity 是滑动视图 + 标题条。在其中一个视图上,我显示了一个网格,当用户单击该网格的元素时,我想显示一个新的“视图”(可能不是正确的术语)。

例如,我在我的网格中显示相册,当用户单击相册时,我将显示该相册中的照片。

我认为这就像开始一项新活动,但我正在使用 aFragmentActivity并且当我尝试展示新活动时,Fragment我无法替换FragmentActivity.

4

1 回答 1

1
  1. 请改用 DialogFragment。
  2. 不要使用父RelativeLayout作为Fragment容器,在ViewPager上面写一个空的RelativeLayout。
  3. 如果上述方法都不起作用,则在显示新的 Fragment 时隐藏 ViewPager。

编辑:布局示例

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </android.support.v4.view.ViewPager>

    <FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>

</RelativeLayout>
于 2012-12-11T15:21:19.657 回答