คำถามติดแท็ก swiperefreshlayout

14
SwipeRefreshLayout setRefreshing () ไม่แสดงตัวบ่งชี้ในตอนแรก
ฉันมีเลย์เอาต์ที่ง่ายมาก แต่เมื่อฉันโทรหาsetRefreshing(true)ในonActivityCreated()ส่วนของฉันมันจะไม่แสดงในตอนแรก มันจะแสดงเฉพาะเมื่อดึงเพื่อรีเฟรช ความคิดใด ๆ ที่ทำให้มันไม่ปรากฏขึ้นในตอนแรก? ส่วนของ xml: <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe_container" 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"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> </RelativeLayout> </ScrollView> </android.support.v4.widget.SwipeRefreshLayout> รหัสส่วน: public static class LinkDetailsFragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener { @InjectView(R.id.swipe_container) SwipeRefreshLayout mSwipeContainer; public static LinkDetailsFragment newInstance(String subreddit, String linkId) { Bundle args = new Bundle(); …

9
SwipeRefreshLayout + ViewPager จำกัด การเลื่อนในแนวนอนเท่านั้นหรือไม่
ฉันใช้งานSwipeRefreshLayoutแล้วและViewPagerในแอปของฉัน แต่มีปัญหาใหญ่เมื่อใดก็ตามที่ฉันจะปัดไปทางซ้าย / ขวาเพื่อสลับไปมาระหว่างหน้าการเลื่อนนั้นไวเกินไป การปัดลงเล็กน้อยจะทำให้เกิดการSwipeRefreshLayoutรีเฟรชด้วย ฉันต้องการตั้งค่าขีด จำกัด เมื่อเริ่มการปัดในแนวนอนจากนั้นบังคับแนวนอนเท่านั้นจนกว่าการปัดจะสิ้นสุด กล่าวอีกนัยหนึ่งคือฉันต้องการยกเลิกการปัดในแนวตั้งเมื่อนิ้วเคลื่อนที่ในแนวนอน ปัญหานี้จะเกิดขึ้นก็ต่อViewPagerเมื่อฉันปัดลงและSwipeRefreshLayoutฟังก์ชันรีเฟรชถูกเรียกใช้ (แถบจะแสดงขึ้น) จากนั้นฉันเลื่อนนิ้วในแนวนอนก็ยังอนุญาตให้ใช้การกวาดนิ้วในแนวตั้งเท่านั้น ฉันพยายามขยายViewPagerชั้นเรียน แต่ไม่ได้ผลเลย: public class CustomViewPager extends ViewPager { public CustomViewPager(Context ctx, AttributeSet attrs) { super(ctx, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { boolean in = super.onInterceptTouchEvent(ev); if (in) { getParent().requestDisallowInterceptTouchEvent(true); this.requestDisallowInterceptTouchEvent(true); } return false; } } xml …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.