2011-02-11 66 views
2

我有一個ViewGroup和我添加子視圖這樣的:子視圖消失

mViewGroup.addView(view, new LayoutParams(LayoutParams.WRAP_CONTENT, 
       LayoutParams.WRAP_CONTENT)); 

(該WRAP_CONTENT重要的是預期的onclicklistener工作)。

到目前爲止好,但後來我通過要麼重寫它們onDraw方法或通過覆蓋ViewGroups能夠動態地移動子視圖:

protected boolean getChildStaticTransformation(View child, Transformation t) 

的問題是,兒童消失,如果他們外移的當他們第一次被添加時似乎被計算的原始區域。我試過打電話setClipChildren(false);,但沒有奏效。

我可以通過增加孩子的意見,但在這種情況下,onClickListener將任何點擊反應對整個ViewGroup,我希望它只是反應點擊具體區域在我的轉化子視圖時使用LayoutParams.FILL_PARENT解決問題位於。

也許我仍然可以使用LayoutParams.FILL_PARENT如果有方法來定義View的可點擊區域應該在哪裏。

有什麼建議嗎?

回答

0

也許你應該試試你的孩子的意見的邊緣和填充。否則,您可以嘗試使用不同的ViewGroup佈局,如FrameLayout,其中每個視圖的位置可以通過邊距來設置。