我想寫一個日曆應用程序,我打算有一個網格(周視圖),這可能是一個TableLayout
,並直接在最重要的,我會有在網格上絕對定位事件。Android:替代AbsoluteLayout(我真的需要絕對定位)
但不推薦使用AbsoluteLayout
。我應該用什麼來代替?
事件可能會重疊,我認爲嘗試使用非絕對佈局來實現我想要的會非常愚蠢。
也許我應該使用RelativeLayout
,並在每個子節點上留有餘量和餘量。似乎這樣做並不一定有效。這是最好的方式還是有其他選擇?
我想寫一個日曆應用程序,我打算有一個網格(周視圖),這可能是一個TableLayout
,並直接在最重要的,我會有在網格上絕對定位事件。Android:替代AbsoluteLayout(我真的需要絕對定位)
但不推薦使用AbsoluteLayout
。我應該用什麼來代替?
事件可能會重疊,我認爲嘗試使用非絕對佈局來實現我想要的會非常愚蠢。
也許我應該使用RelativeLayout
,並在每個子節點上留有餘量和餘量。似乎這樣做並不一定有效。這是最好的方式還是有其他選擇?
我發現您可以通過添加你的孩子意見的RelativeLayout
重新絕對定位並設置RelativeLayout.LayoutParams
有效,但寬度,高度,marginTop和marginLeft只默認值。頂部和左側邊距將與頂部和左側相似,位於AbsoluteLayout
。此外,支持負利差。
確保你考慮的屏幕密度,寬度和方向的變化和絕對定位的所有其他注意事項所用。如果你有讓你的內容中的問題溢出過去的右邊緣應用到AbsoluteLayout
屏幕上,嘗試補充您的正面左邊空白,同樣爲負右邊距。(original question)
但是AbsoluteLayout已被棄用。我應該用什麼來代替?
寫你自己的佈局管理器,實現你想要的規則。
我建議要麼會簡單的方法:
還是要去的辛苦,但很多更穩定/快速/定製方式:
的問題,1號是你越添加在您的視圖元素層次結構越多,你的應用程序將採取的性能損失的事實。說一個傳統的月份,你每天有3次約會,你的層次結構將充滿一百個意見,這將是非常長的渲染和沉重的記憶方式。
編號2的問題:首先編碼困難得多。如果您必須編寫自己的佈局管理器,請不要使用surfaceview或openGL。
任何需要將我的事件添加到「RelativeLayout」並使用`child.setPadding(left,top,0,0)將它們從左上角轉移下來? – 2011-01-20 17:03:35
它聽起來比它更容易......但是這是他能做的最好的事情:P – Cristian 2011-01-20 16:13:27