我通过以下方式实现了SwipeRefreshLayout:
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipeRefreshLayout"
android:layout_width="wrap_content"
android:layout_height="200dp">
<RelativeLayout
android:id="@+id/profile_pic_name"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/profile_bg"
android:gravity="center"
android:paddingBottom="2dp"
android:clickable="true"
android:paddingTop="2dp">
<ImageView
android:id="@+id/profile"
android:layout_width="200dp"
android:layout_height="150dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:paddingBottom="2dp"
android:paddingTop="2dp"
android:src="@drawable/user_default" />
<TextView
android:id="@+id/profile_name"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/image_profile"
android:gravity="center_horizontal"
android:text="Hi Member"
android:textAllCaps="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/White"
android:textSize="@dimen/main_menu_name_text_size"
android:textStyle="bold" />
</RelativeLayout>
</android.support.v4.widget.SwipeRefreshLayout>
在java代码中,我只需设置以下内容:
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
loadData();
}
});
但是当我触摸我的视图的结尾时,例如在profile_name或End of RelativeLayout上。它刷新了屏幕。
有人可以帮助找出解决方案,为什么不刷卡就能刷新自己?
答案 0 :(得分:0)
这是因为 SwipeRefreshLayout 采用完整布局,它与父级匹配,这就是它发生的原因。相应地更改布局