0
所以我寫了一個'多重滑動抽屜'小部件,它可以像Slidingdrawer一樣工作,除了它允許最多4個'抽屜'。不過,我真的更喜歡製作這個'n-drawers',但我遇到的問題是使用xml中的參數。目前,我通過處理/內容通過:有沒有辦法在xml中接受多個視圖ID作爲參數?
ns:handle1="@+id/slideHandleButton1"
ns:content1="@+id/contentLayout1"
ns:handle2="@+id/slideHandleButton2"
ns:content2="@+id/contentLayout2"
ns:handle3="@+id/slideHandleButton3"
ns:content3="@+id/contentLayout3"
但顯然這裏有一些冗餘。我原本以爲我可以使用'getChild(i)'來遍歷孩子並在內部添加它們,但我的理解是,getChild方法以可視順序返回兒童,而不是他們在xml中添加的順序。所以我現在想要做的是這樣的:
ns:handles="@id/contentLayout1,@id/contentLayout2,@id/contentLayout13"
這將允許任意數量的抽屜。這可能嗎?還是有這個問題的另一個很好的解決方案?
沒有在array.xml中聲明數組的內聯方法嗎?或者也許按照XML中聲明的順序獲取子項? – Rollie 2012-07-08 23:14:52
@Rollie - 你可以定義一個接受字符串值的屬性,然後用代碼解析和解釋(類似於你提出的)。您可以使用'Resources.getIdentifier'方法將解析的字符串轉換爲資源ID值。這是一個巨大的混亂,你放棄任何編譯時檢查。 – 2012-07-08 23:20:44
不是我想要的答案,但也許我應該想要我得到的答案:P – Rollie 2012-07-09 06:29:42