2010-06-24 109 views
1

我正在創建一個Action Bar,就像從新的Android UI模式中創建一個操作欄一樣,我遇到了一些麻煩。我有一個ViewSwitcher其中有兩個佈局。當用戶點擊搜索按鈕時,我在兩個佈局之間生成動畫。問題是,佈局是不同的大小,我不知道如何使他們佔用相同數量的空間。這是我的意思。附:原諒壞的藝術,他們只是佔位;)實現Android操作欄

紅色框是正對着該ViewSwitcher且存在與此佈局的操作欄之間的差距:

Gap

但沒有這一條:

No Gap

我想是想告訴在ViewSwitcher佈局是相同的尺寸。我怎樣才能做到這一點?

回答

0

您可以嘗試將較小的android:minHeight設置爲大一點的高度。或者可以將其設置在ViewSwitcher本身上。


理念:

ViewSwitcher只允許你添加兩個View S和你的情況下,他們是兩個ViewGroup秒。您可以在要添加到ViewSwitcher的每個視圖上致電View#measure。它看起來像你應該使用ViewGroup.LayoutParams.WRAP_CONTENTmeasure的每個參數。然後,您可以在每個視圖上撥打View.getMeasuredHeight。更大的設置使用View#setMinHeight更小的視圖。

+0

我現在面臨的問題是,我不知道這個大個子有多大。這取決於'EditText'的大小。我在三款不同的手機上看到了三種不同的尺寸。 :( – CaseyB 2010-06-25 04:22:09

+0

我會嘗試一下你的新建議,但是它的代碼很多,我希望能夠保留在xml中。 – CaseyB 2010-07-06 15:02:41

+0

你可以在viewSwitcher上使用android:measureAllChildren =「false」嗎?http:// stackoverflow .COM /問題/ 5466537 /如何對GET-viewswitcher到總結只有最當前顯示的視高 – topwik 2012-08-24 19:43:30