托管片段的活动中的swiperefreshlayout

时间:2015-05-13 16:19:13

标签: android android-layout android-fragments swiperefreshlayout

简短的问题 如何在一个活动上实现SwipeRefreshLayout,它同时承载两个碎片,使得刷新加载微调器apeares在屏幕中居中。

**长问题 我有一个托管多个片段的活动。我想在活动级别上实现一个SwipeRefreshLayout,无论哪个片段都显示,刷新都可用。

我有1个基本活动和3个片段。根据程序状态,使用片段管理器隐藏和显示片段。在某些情况下,一个片段将覆盖活动的整个空间。在其他情况下,2个碎片将并排放置并共同覆盖活动的整个空间。

当我在片段级别实现SwipeRefreshLayout时,刷新功能正常,但是在我并排有2个片段的情况下,微调器将以片段而不是活动为中心。

当我在活动级别实施SwipeRefreshLayout时,Fragments会吸收手势事件,并且SwipeRefreshLayout没有响应。

我想要发生的是在并排片段布局中向下滑动以根据活动而不是片段将刷新加载微调器放在中心。要做到这一点,要么我需要找到一种方法在活动级别实现SwipeRefreshLayout,它将拾取片段中观察到的运动事件,或者我需要在片段级别实现SwipeRefreshLayout并找到一种方法来居中加载微调器。

如果有人知道如何处理这两种情况,我将非常感谢帮助。 这是我的活动的xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.activity.BaseActivity">

    <!-- Layout with my fragments -->
    <LinearLayout
        android:id="@+id/fragmentContainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <!--Frame Layout for Dashboard List fragment-->
        <FrameLayout
            android:id="@+id/baseDashLayout"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:visibility="gone">

            <fragment
                android:id="@+id/baseDashFragment"
                class="com.example.activity.fragment.DashboardListFragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
        </FrameLayout>

        <View
            android:id="@+id/seperatorLine"
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="#000000" />

        <android.support.v4.app.FragmentTabHost
            android:id="@+id/tabContainer"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <!--Layout for Tabs widget-->
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <TabWidget
                    android:id="@+id/tabs"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

                <LinearLayout
                    android:id="@+id/tabContent"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_below="@id/tabs"
                    android:orientation="vertical" />
            </LinearLayout>
        </android.support.v4.app.FragmentTabHost>

        <!-- Frame Layout for Tabbed page Fragment-->
        <FrameLayout
            android:id="@+id/baseTabLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true">

            <fragment
                android:id="@+id/baseTabFragment"
                class="com.example.fragment.PageTabFragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
        </FrameLayout>

        <!-- Frame layout for setup connection fragment -->
        <FrameLayout
            android:id="@+id/baseSetConLayout"
            android:layout_width="fill_parent"
            android:layout_height="match_parent">

            <fragment
                android:id="@+id/baseSetConFragment"
                class="com.example.activity.fragment.SetConnectionFragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
        </FrameLayout>
    </LinearLayout>
    <!-- End Layout with my fragments -->

    <!-- Start Swipe to refresh Layout -->
    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/baseRefreshLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

0 个答案:

没有答案