2010-08-24 104 views
17

我在ViewLayout中添加了一個ViewSwitcher,它有兩個不同高度的視圖,但ViewSwitcher似乎佔用了最大視圖的空間,而不是安排自己。這是應該如何?Android中的ViewSwitcher和佈局高度

在另一種情況下該怎麼辦?我試圖創建一個手風琴,其中標題面板在點擊時尺寸增大

回答

43

由ViewAnimator繼承的ViewSwitcher的默認行爲是考慮佈局上的所有子視圖,這將導致ViewSwitcher佔用最大的孩子的空間。

要改變這一點,你需要做的就是將MeasureAllChildren標誌設置爲false。這將使佈局通過忽略當前隱藏的子視圖。設置此標誌,例如在活動的onCreate方法,如:

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

XML!例如:

<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

你的人,感謝 – j2emanue 2017-08-09 05:28:08

+0

如何讓動畫,並有其插值的聽衆,而這切換到另一個視圖,但? – 2017-12-21 13:32:40

相關問題