SORU
15 ŞUBAT 2013, Cuma


İç içe geçmiş parçaları animasyon geçiş sırasında kaybolur

İşte senaryo: Faaliyet bölümü, sırayla getChildFragmentManager() parçaları eklemek için kullanır A, A1 A2 onCreate onun gibi: içerir

getChildFragmentManager()
  .beginTransaction()
  .replace(R.id.fragmentOneHolder, new FragmentA1())
  .replace(R.id.fragmentTwoHolder, new FragmentA2())
  .commit()

Şimdiye kadar her şey iyi, her şey beklendiği gibi çalışıyor.

Biz o Faaliyeti aşağıdaki işlem çalıştırın:

getSupportFragmentManager()
  .beginTransaction()
  .setCustomAnimations(anim1, anim2, anim1, anim2)
  .replace(R.id.fragmentHolder, new FragmentB())
  .addToBackStack(null)
  .commit()

Geçiş sırasında, parça B enter animasyonlar doğru ama çalışırparçaları A1 ve A2 tamamen kaybolur. Geri tuşu ile hareket ediyoruz dönerek, düzgün başlatılamıyor ve normalde popEnter animasyon sırasında ekran.

Benim kısa bir test, eğer çocuk parçaları için animasyon hazırladım eğer var Garip - (aşağıya bakınız), exit animasyon parça ekliyoruz zaman zaman B çalışır

getChildFragmentManager()
  .beginTransaction()
  .setCustomAnimations(enter, exit)
  .replace(R.id.fragmentOneHolder, new FragmentA1())
  .replace(R.id.fragmentTwoHolder, new FragmentA2())
  .commit()

Ulaşmak istediğim efekti basit - exit (ya da popExit? olmalıdır) istiyorum parça üzerinde animasyon 18* *(anim2) çalıştırmak için, tüm konteyner, iç içe kendi çocukları da dahil olmak üzere animasyon.

Bunu başarmak için herhangi bir yolu var mı?

EditLütfen test çalışması here bul

Edit2: @Sayesinde bana statik animasyonlar ile denemeye devam bastırıyor StevenByle. Görünüşe göre ayarlayabilirsiniz animasyonlar üzerinde bir per-op olarak (genel tüm hareket), yani çocuklar belli belirsiz statik animasyon ayarlayın, süre, üst bir farklı animasyon ve her şey olabilir kararlı bir hareket. Aşağıdaki tartışma ve updated test case project bkz.

CEVAP
22 ŞUBAT 2013, Cuma


Önlemek için Kullanıcı görmeden iç içe geçmiş parçaları kaybolan zaman üst parçası kaldırıldı ve yerine bir hareket olabilir "taklit" bu parçalar hala mevcut sağlayarak, görüntünün onları, onlar belirdi ekranda. Bu görüntü iç içe geçmiş parça görüşlerini ortadan kalksa bile, bu görüntü onların varlığı taklit edecek kadar iç içe geçmiş parçaları konteyner için arka plan olarak kullanılacak. Ayrıca, göremiyorum kaybetme etkileşim ile iç içe parçanın manzaralı bir sorun nedeniyle olduğunu sanmıyorum istiyorsunuz kullanıcıya hareket onları ne zaman onlar sadece süreç olmaktan çıkarılmış(muhtemelen gibi bir kullanıcı eylemi de).

Arka plan görüntüsü(temel) kurma little example yaptım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006
  • olinerd

    olinerd

    23 AĞUSTOS 2007