LinearLayout
için LinearLayout
var, LinearLayout
ana sayfasına android:animateLayoutChanges="true"
uygularım. Kullanıcı bir geçiş düğmesini tıkladığında, LinearLayout
"çökmeler" (Ben programlı LinearLayout.GONE
olarak görünümün görünürlüğünü ayarlayın ve bunu tekrar tıkladığınızda, programlı LinearLayout.VISIBLE
geri görünürlüğünü ayarlayarak genişletir.XML'de "animateLayoutChanges" özniteliğini kullanarak düzenleri belirleme
bunun animasyon çöken ve doğru olarak çalışmalarını genişleterek.
Ancak LinearLayout
kapatılabilen/genişletilebilir geri çöküşün animasyon tamamlanmadan önce üstüne ek bileşeni altında herhangi bir öğe. arka dayama öğeler true
için animateLayoutChanges
kümesi vardır ebeveyn içeride dEĞİLDİR ve onları içine koyabileceğim bir şey olduğunu düşünmüyorum.
LinearLayout
içine programlı takıldığında
<!-- Top most LinearLayout-->
<LinearLayout>
<!-- LinearLayout containing android:animateLayoutChanges="true"-->
<LinearLayout>
<!-- RelativeLayout containing button to toggle LinearLayout visibility below-->
<RelativeLayout>
</RelativeLayout>
<!-- LinearLayout that has its visibility toggled -->
<LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
(aşağıya bakınız):
<LinearLayout
android:id="@+id/form_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- This is where the previous XML layout containing the toggle-able LinearLayout
is inserted programmatically. -->
<!-- This button snaps back up to the top before the animation is complete. -->
<Button />
</LinearLayout>
İşte benim düzen hiyerarşisi (Kısa tutmaya özelliklerini söz etmedi) 'dir eklediyseniz, animateLayoutChanges
animateLayoutChanges
doğru olanı eklediğimde sorunun çözüleceğinin farkındayım. Ancak, bu birkaç nedenden dolayı bir seçenek değildir.
Peki başka bir iş var mı?