조각을 표시하는 응용 프로그램에서 일하고 있습니다. 사용자가 단편의 버튼을 클릭하면 해당 단편이 80 % 아래로 내려 가서 다른 단편을 보여줍니다. 내가 가지고있는 문제는 버튼을 클릭하면 조각이 80 % 아래로 내려 갔지만 두 번째 조각 만 보여 주면 화면이 다시 그려진다는 것입니다. 어떤 도움이 필요합니까?조각 슬라이드 아래로 애니메이션
버튼을 클릭 할 때 실행되는 코드를 제공합니다. 및 애니메이션 파일
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.button1:
ProfileFragment pro = new ProfileFragment();
((MainActivity) getActivity()).tra =((MainActivity) ()).fragmentManager.beginTransaction();
((MainActivity) getActivity()).mFragmentStack.add(pro.toString());
getActivity()).tra.setCustomAnimations(R.anim.slide_in_top, R.anim.slide_out_bottom);
((MainActivity) getActivity()).tra.replace(R.id.fragment_swap,pro);
((MainActivity) getActivity()).tra.addToBackStack(pro.toString());
((MainActivity) getActivity()).tra.commit();
break;
}
}
Slide_out_bottom :
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="900"
android:fromYDelta="0%"
android:toYDelta="80%"
/>
</set>
slide_in_top는 :
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="900"
android:fromYDelta="0%"
android:toYDelta="0%" />
</set>
첫 번째 단편은 여전히 사라집니다. – Samantha
'replace()'명령을 사용하여'FragmentTransaction'을 사용하여 여기서 말하는 것을 할 수 있는지 궁금해지기 시작했습니다. 바꾸기, 이해할 수 있듯이, 'Fragments'와 함께 애니메이션을 수행 한 다음 원본 조각을 제거합니다. 두 번째'FrameLayout'에서 두 번째 프래그먼트의 첫 번째 프래그먼트를 'FrameLayout'에 넣은 다음 두 번째 프래임을 표시하기 위해 첫 번째 'FrameLayout' 전체를 아래쪽으로 애니메이션하는 것이 더 나을 것입니다. 조각이 제거되지 않는 방법입니다. – SDJMcHattie
[documentation] (http://developer.android.com/reference/android/app/FragmentTransaction.html#replace (int, % 20andandroid.app.Fragment, % 20java.lang.String))을 읽으면 첫 번째 조각이'.remove()'를 호출하는지 확인한다. – SDJMcHattie