0

我在 RelativeLayout 中有一个 TextView 和一个 EditText。我想在它们后面创建一个带有白色背景的边框,就像一张卡片。我有一些更复杂的例子,还有图像和文本。

我想看到的 UI

我能想到的唯一方法是引入多个嵌套的 ViewGroups(比如另一个 RelativeLayout),所以每张卡片都是一个包含其他两个 Views 的 ViewGroup,并自动正确调整大小并设置边框。

但是,这最终会产生如下视图层次结构:

  • 相对布局
    • 相对布局
      • 文本视图
      • 编辑视图
    • 相对布局
      • 文本视图
      • 编辑视图
    • 相对布局
      • 图像视图
      • 文本视图
      • 文本视图
      • 按钮

ETC

这似乎过度且可能存在问题,特别是如果我最终拥有嵌套卡片。

除了更改 LinearLayouts 的 RelativeLayouts(我想这不会产生很大影响)之外,还有什么方法可以简化此布局层次结构?

4

1 回答 1

1

根据谷歌的说法,我认为最多可以有 6 或 7 个嵌套布局而无需担心。

想想 gmail 应用程序。每封邮件由(至少 1 个)ViewGroup 组成,该 ViewGroup 显示在 listView 中,该列表视图可能嵌套在另一个(至少 1 个)ViewGroup 中...

简而言之,我认为您的层次结构还可以

于 2013-07-01T18:27:57.883 回答