2010-10-12 88 views
0

我被要求在android中製作一個視圖,它將垂直行中的複選框或文本視圖組合在一起,用透明分隔線分隔,而背景帶有某個alpha級別和邊緣是圓的。分組文本加上圖像+圓形邊緣在android中

我想到了兩種解決方案,我希望對好的\壞的或其他解決方案提供一些反饋,如果你們想要的話。

  1. 只是使用regualr線性佈局,但有一個單一的樣式A使用9補丁作爲背景,包括填充,邊距和任何我需要使它看起來像我想要的。然後我創建另一個樣式A.up和A.down,代表最上方和最下方的項目,它們將使用具有圓角的不同9路徑。
  2. 繼承自線性佈局,在onMeasure和layoutChildren中爲所有的孩子添加一些他們之間的空間,我可以爲它創建一個新的屬性,可以在一個樣式中自定義。我可以重寫dispatchDraw繪製每個視圖的背景,然後繪製它,所以我可以繪製我的圓形邊框,我唯一的要求是添加到此佈局的每個視圖都必須具有透明背景。

那麼你怎麼看?

回答

0

最終我決定使用帶有自定義分隔線的列表。 它看起來不錯,但是名單有一個非常討厭的錯誤,當它歸結到項目中包含按鈕和可點擊textViews狀態,

  1. 你沒有重點的項目,並沒有看到ornage吧
  2. 你似乎並沒有得到evnet流向列表中View的子元素。

我不確定如何解決這個問題,我在developres郵件列表中看到了很多關於它的郵件,大多數說不把有狀態的對象放在列表中。 因此,薄霧不是我的解決方案。 我會嘗試的巢東西是擴大正常的佈局,在他們的底部有一個酒吧,並使用可繪製圓角的regualr線性佈局。

+0

好的,改變計劃,這裏有一些工作原理,創建速度相對較快,但說實話,在xml代碼中它的速度會更快,從android開發人員網站的表格佈局示例。 1.創建垂直方向的線性佈局 2.將背景設置爲圓形矩形可繪製。 3.我選擇將每個行項目放在框架佈局中,但它可以是您選擇的任何佈局。 4.使用填充寬度和1像素高度的標籤作爲分隔符。 5.分配每行\查看樣式,以便稍後可以操作它。 – codeScriber 2010-10-18 08:49:53