반응형
애니메이션을 통해 활동에서 조각 바꾸기
애니메이션을 통해 활동에서 두 조각을 바꾸고 싶습니다. PageA는 조각 A 용이고 화면의 왼쪽은 페이지 B는 조각 B 용, 즉 화면 오른쪽에 있다고 가정합니다. 이제 pageA의 버튼을 클릭하면 PageA가 일부 전환 애니메이션과 함께 화면의 오른쪽으로 이동합니다.
위치를 바꾸기 위해 아래 코드를 시도했습니다.
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container, new FragB());
fragmentTransaction.commit();
단서를 찾고 있습니다.
미리 감사드립니다.
오래된 질문과 아마 이미 알아 냈을 것입니다.
코드를 통해 조각을 바꿀 때 사용자 지정 애니메이션을 설정하는 데 사용하는 방법은 다음과 같습니다.
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
ft.replace(R.id.fragment_container, newFragment, "fragment");
// Start the animated transition.
ft.commit();
다음은 slide_in_left 애니메이션의 예입니다.
<?xml version="1.0" encoding="utf-8"?>
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%"
android:toXDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/>
</set>
호환성 라이브러리를 사용하는 경우 이것은 애니메이션입니다. 대신 FragmentManager에 대한 기본 지원과 함께 SDK를 사용하는 경우 애니메이션은 다음과 같이 표시됩니다.
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="x"
android:valueType="floatType"
android:valueFrom="-1280"
android:valueTo="0"
android:duration="500"/>
</set>
이는 호환성 라이브러리가 새 objectAnimator 유형을 지원하지 않고 대신 이전 애니메이션 프레임 워크 만 구현하기 때문입니다.
참고 URL : https://stackoverflow.com/questions/8876126/swap-fragment-in-an-activity-via-animation
반응형
'program tip' 카테고리의 다른 글
Python vs Bash-어떤 종류의 작업에서 각각 성능면에서 다른 작업을 능가합니까? (0) | 2020.09.15 |
---|---|
앱을 제출하려고 할 때 Xcode에서 이상한 뉴스 스탠드 오류가 발생했습니다. (0) | 2020.09.15 |
IntelliJ 13-도구 모음에 뒤로 / 앞으로 탐색 추가? (0) | 2020.09.15 |
Backbone.js 뷰에서 동적으로 id 및 className 설정 (0) | 2020.09.15 |
gcc는 전처리 후 C 코드를 출력 할 수 있습니까? (0) | 2020.09.15 |