2010-08-24 19 views
17

Bir ViewSwitcher'ı farklı yükseklikteki iki görüntüye sahip olan bir LinearLayout'a ekledim, ancak ViewSwitcher kendisini düzenlemek yerine görünümlerin en büyüğünün yerini alıyor gibi görünüyor. Bu nasıl olmalı?ViewSwitcher ve düzen yüksekliği Android

Diğer durumda ne yapmalı? Tıklatıldığında, başlık panelinin,

cevap

43

boyutunda büyüdüğü bir akordeon oluşturmaya çalışıyordu. ViewSimator tarafından devralındığı şekilde ViewSwitcher'ın varsayılan davranışı, tüm alt görünümlerin düzende göz önünde bulundurulmasıdır. Bu, ViewSwitcher'in en büyük çocuğun yeri.

Bunu değiştirmek için yapmanız gereken tek şey MeasureAllChildren bayrağını false olarak ayarlamaktır. Bu, düzen geçişini şu anda gizlenen alt görünümü yok sayar. Bu bayrağı ör. faaliyetin onCreate yönteminde, örneğin:

ViewSwitcher switcher = (ViewSwitcher)findViewById(R.id.ViewSwitcher); 
    switcher.setMeasureAllChildren(false); 

XML örneği:!

<ViewSwitcher xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/viewSwitcher" 
     android:measureAllChildren="false"> 
</ViewSwitcher> 
+0

senin adamın, bunu animasyon yapmak ve onun enterpolasyon bir dinleyici var nasıl teşekkür – j2emanue

+0

bunun ise Yine de diğer görünüme geçiyor? –

İlgili konular