2011-08-13 89 views
1

我想限制LinearLayout的寬度爲400dp或更少。換句話說,如果佈局引擎確定LinearLayout將會是320dp,我不想改變任何東西,但是如果它確定它將是480dp,我想把它減少到400dp。Android - 如何限制LinearLayout的寬度

我嘗試了一切可以想到的事情來實現這一點。我最後一次嘗試創建一個繼承自LinearLayout的自定義視圖,並重寫onMeasure方法來設置自定義尺寸,但是,我遇到的問題是,即使實際的LinearLayout寬度減少了其中的所有視圖(即:按鈕等等)仍然按照寬度從未改變的方式佈置,因此它們在側面被切斷。

如果任何人有任何關於如何做到這一點的建議或知道任何開放源碼應用程序這樣做,我可以看看,將不勝感激。

+0

聽起來像你需要創建一個自定義的ViewGroup。你確定你做得對嗎? – mibollma

回答

0

您應該檢查getMeasuredWidth()。如果你想要的更大,setLayoutParams()正確的寬度。請記住,在Java單位是像素,所以你需要正確地擴展它們。