我有一个简单的布局:
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swiperefresh"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/result_list_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<include
android:id="@+id/result_list"
layout="@layout/result_list"/>
<include layout="@layout/loading_animated_house"/>
</FrameLayout>
</android.support.v4.widget.SwipeRefreshLayout>
当第一个include
可见而第二个消失时,一切都很好。
当第一个include
消失且第二个可见时,我看不到加载图片。
在刷新之前只拉动(加载图像的)超快速闪烁,但是当回调被调用时,操作确实会运行。
任何线索都会对你有帮助!
答案 0 :(得分:0)
可以使用以下代码<include android:id="@+id/result_list"
android:layout_width="match_parent" android:layout_height="match_parent" layout="@layout/result_list"/>
答案 1 :(得分:0)
在尝试了一些场景后,我注意到:
1)onInterceptTouchEvent
永远不会返回true,mIsBeingDragged
永远不会真正设置为true,因此以后onTouchEvent
moveSpinner
永远不会被调用。
2)onTouchEvent
调用MotionEvent.ACTION_UP
,然后调用finishSpinner
,这就是我收到回调的原因。
3)在我对响应或错误执行网络呼叫后,我致电swiperefresh.setRefreshing(false);
,这就是为什么我在结束时闪烁(startScaleDownAnimation
)。
因此,确定您需要一个可触摸的孩子来开始拖拽,
解决方法可能只是设置FrameLayout
可点击:
<FrameLayout
android:id="@+id/result_list_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
>