2010-09-09 63 views
1

在Android中,當我添加一個像ImageView這樣的視圖對象到FrameLayout視圖,然後立即嘗試調用layout()方法到repositioned the added view object它不起作用。 但是當我在一些新的事件發生之後獨自調用佈局方法,例如觸摸事件然後佈局()似乎工作。當bringToFront()和layout()一起使用時,也會發生這種情況,layout()似乎不能與其他方法一起使用。這有什麼理由這樣嗎?而不是在屏幕中間添加視圖對象,它可以在FrameLayout的某個特定位置添加?Android:addView和佈局方法不能一起工作

回答

4

你不應該直接調用layout()。這僅由框架使用。您必須修改視圖的佈局參數(getLayoutParams())並調用requestLayout()。

+0

IM我佈局的onCreate,但在設置佈局PARAMS,但所有孩子的觀點得到無形? – 2013-04-08 10:41:47

+0

什麼是設置佈局參數的最佳時間? – 2013-04-08 10:42:23

1

試試這個:

FrameLayout.LayoutParams layout = new frameLayout.LayoutParams (LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT,Gravity.BOTTOM);