简短的问题 如何在一个活动上实现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>