2013-07-01 71 views
0

我在一個RelativeLayout中有一個TextView和一個EditText。我想在背後創建一個帶有白色背景的邊框,如卡片。我還有一些更復雜的例子,圖片和文字也是如此。如何在Android中的兩個或更多視圖周圍創建邊框?

The UI I want to see

我能想到的要做到這一點的唯一方法是引入多個嵌套ViewGroups(說一個RelativeLayout的),所以每個卡是一個ViewGroup中包含兩個其他視圖,並自動正確大小,並且一套邊框。

然而,這結束了與像視圖層次:

  • RelativeLayout的
    • RelativeLayout的
      • 的TextView
      • EditView中
    • RelativeLayout的
      • 的TextView
      • EditView中
    • RelativeLayout的
      • ImageView的
      • 的TextView
      • 的TextView
      • 按鈕

這似乎過度和潛在有問題的,特別是如果我最終嵌套卡。

除了改變LinearLayouts的RelativeLayouts(我想不會有太大的影響),有沒有簡化這種佈局層次結構的方法?

回答

1

根據Google的說法,我認爲沒有必要擔心多達6或7個嵌套佈局是沒問題的。

想想Gmail應用程序。每封郵件是由顯示在這可能是嵌套在另一個(至少1)一個ViewGroup一個ListView(至少1)的ViewGroup ...

總之,我認爲您的層次結構是確定

+0

你有一個谷歌的參考(你說「根據谷歌」)?如果是這樣,我會接受你的答案是正確的。 :-) –

+0

對不起,我無法找到它:)但您可以使用Android的hierarchyviewer工具檢查佈局的性能。請參閱:http://stuff.mit.edu/afs/sipb/project/android/docs/training/improving-layouts/optimizing-layout.html – dors

相關問題