저는 안드로이드 앱에 소개 화면을 보여주기 위해 viewpager를 구현했습니다. 거기에 다른 애니메이션을 가지고 4 가지 화면이 있습니다. 내 문제는 사용자가 viewpager의 0 조각에있을 때 조각 1이 기본적으로 초기화되고 애니메이션이 백그라운드에서 끝나고 사용자가 조각 1로 이동하면 애니메이션이 없음 (조각 1이 조각 1과 동시에 초기화 될 때 애니메이션이 종료 됨)입니다. 내가하고 싶은 일은 사용자가 조각 0에있을 때 단편 0 만 조각 1 인 다음 조각을 초기화하지 말아야한다는 것입니다. 사용자가 조각 1로 갈 때 조각 0은 조각 0으로 슬라이딩 할 때 파손되어야합니다. 애니메이션을 다시 표시하려면 초기화하십시오. 어떻게해야합니까?viewpager가 안드로이드에서 다음보기를 초기화하는 것을 방지하는 방법?
답변
당신은,
viewPager.setOffscreenPageLimit(0);
deafult 1에 의해 왼쪽으로 메모리에 남아있을 것입니다 오른쪽으로 너무 한 조각 /보기 ViewPAger 페이지 메모리 제한을 변경할 수 있습니다.
뷰퍼는 성능이 좋고 부드럽고 즉시 스크롤 할 수 있도록 각면에 하나의 조각 /보기를 유지합니다. ViewPager
에 대한 청취자를 생성하여 원하는 부분으로 스크롤하면 애니메이션이 실행되도록 제안합니다 (시작 애니메이션은 onCreateView
). 특히 onPageSelected(int position)
방법, ViewPager.OnPageChangeListener 확인
편집 : 구글이 한계에 0을 설정하면 말한다 로그 캣 최신 버전으로, 약한 인정 :
Requested offscreen page limit 0 too small; defaulting to 1
그래서 당신이 애니메이션을 발사하기위한 수신기를 사용해야합니다, 그것은을위한도 좋습니다 공연. 사용하려는 메소드가 작성자 (Google 자체)에 의해 사용되지 않음을 알 수 있습니다. ViewPager
클래스의 방법은
public void setOffscreenPageLimit(int limit) {
if (limit < DEFAULT_OFFSCREEN_PAGES) {
Log.w(TAG, "Requested offscreen page limit " + limit + " too small; defaulting to " +
DEFAULT_OFFSCREEN_PAGES);
limit = DEFAULT_OFFSCREEN_PAGES;
}
if (limit != mOffscreenPageLimit) {
mOffscreenPageLimit = limit;
populate();
}
}
당신은 또한
를 작동해야 다음 setOffscreenPageLimit(0);
이
Field f = ViewPager.class.getDeclaredField("DEFAULT_OFFSCREEN_PAGES");
f.setAccessible(true);
f.setInt(viewPager, 0);
처럼 매끄러운, 자신의 ViewPager
을 만들거나 DEFAULT_OFFSCREEN_PAGES
또는 mOffscreenPageLimit
및 화재 populate();
방법, 모든 사용 반사 변경 될 수 있습니다 당신 애니메이션을 시작하기 위해 액티비티에서와 같이 fragment call back onResume을 사용할 수 있습니다. 링크 : http://developer.android.com/reference/android/app/Fragment.html#onResume%28%29
아니요, onResume은 offscreen 한도에있는 offscreen Fragments에 대해서도 호출됩니다. (적어도 1이면 onResume이 활동 시작 또는 생성/팽창시 3 분이 될 것입니다. 'ViewPager' 또는 시작 위치가 0 인 경우 두) – snachmsm
다음을 사용하십시오. OnPageChangeListner 링크 : http : //developer.android.com/reference/android/support/v4/view/ViewPager.html#setOnPageChangeListener (android.support. v4.view.ViewPager.OnPageChangeListener) – Karioki
내 솔루션에서 제안한이 솔루션. 또한 @rahul은 Reflections를 사용할 수도 있지만,이 문제를 해결하기 위해 권장되거나 적절한 방법은 아닙니다. – snachmsm
- 1. 안드로이드에서 이미지 크기가 조절되는 것을 방지하는 방법
- 2. 안드로이드에서 블로킹을 방지하는 방법 (
- 3. 안드로이드에서 ScaleView를 스크롤하는 것을 방지하는 방법으로 ScrollView를 스크롤링하고 자식 아이템을 클릭하는 것을 방지하는 방법?
- 4. ViewPager가 안드로이드에서 화면의 절반을 스크롤했습니다
- 5. 안드로이드에서 배경 이미지의 모양을 벗어나는 것을 방지하는 방법?
- 6. 웹 페이지에서 애플릿이 언로드되는 것을 방지하는 방법?
- 7. 안드로이드에서 리로드 활동을 방지하는 방법
- 8. ViewPager 다음보기를 미리로드하는 방법 Android
- 9. ViewFlipper가 루핑되는 것을 방지하는 방법
- 10. UITextField로 이동하는 것을 방지하는 방법?
- 11. 항아리에서 클래스를로드하는 것을 방지하는 방법
- 12. TouchEvent에서 스크롤하는 것을 방지하는 방법
- 13. 스크립트가 실행되는 것을 방지하는 방법
- 14. APK가 복사하는 것을 방지하는 방법?
- 15. android.appwidget.action.APPWIDGET_UPDATE을 실행하는 것을 방지하는 방법
- 16. 비디오를 다운로드하는 것을 방지하는 방법
- 17. css가 상속하는 것을 방지하는 방법?
- 18. 배경을 자르는 것을 방지하는 방법?
- 19. 안드로이드에서 네이티브 라이브러리 상태를 초기화하는 올바른 방법
- 20. 다음보기를 열려면 UIImageview를 클릭하십시오.
- 21. 안드로이드에서 relativelayout 내부보기 중복 방지하는 방법
- 22. 아포스트로피가 제거되는 것을 방지하는 방법 PHP MySQL
- 23. 안드로이드 활동이 죽는 것을 방지하는 방법
- 24. 데이터베이스가 따옴표에 슬래시를 추가하는 것을 방지하는 방법
- 25. 데이터베이스가 실행 중 비우는 것을 방지하는 방법
- 26. 응답 모드에서 이미지 감싸는 것을 방지하는 방법
- 27. iPhone에서 앱이 시작되는 것을 방지하는 방법
- 28. 포커스가있는 EditText로 스크롤하는 것을 방지하는 방법
- 29. jquery 터미널이 문자열을 바꾸는 것을 방지하는 방법
- 30. 공유시 이미지가 생성되는 것을 방지하는 방법
나는 이것을 시도했다. 그것의 작동하지 않습니다 어댑터 = 새로운 ViewPagerAdapter (_activityWalkThrough, imageArra); view_pager_walk_through.setAdapter (어댑터); view_pager_walk_through.setOffscreenPageLimit (o); – rahul
올바른지, 설정 0은 "사용되지 않음"입니다 (말합니다). 위의 편집을 참조하십시오. 원래의 ViewPager를 늘릴 수도 있지만, Google은 이유가 없으면이 0 제한 옵션을 차단하지 않았습니다. 나쁜 사례입니다. – snachmsm
위에서 제시 한 제안을 시도해 보겠습니다. 감사합니다. – rahul