android - 如何在不重做所有相对关系的情况下以简单的方式重做 Android XML 布局(尤其是 RelativeLayouts)?

标签 android xml android-relativelayout

我发现自己在 Android XML 文件中使用 RelativeLayout 的次数多于任何其他类型的布局。鉴于我的应用程序主要使用简单和基本的界面,因此很容易推出新的 RelativeLayout。

目前,我创建了一个 RelativeLayout 并分配了布局属性的每个组件,例如 Layout Below、Layout Left 或 Layout Right,以将该组件锚定到用户界面的正确区域。

虽然定义新布局很容易,但尝试在布局中移动单个组件却很困难。鉴于我在我的布局中使用了组件来分隔其他组件,一旦移动了一个组件,该组件周围的布局就会分崩离析。移动一个组件意味着我必须重新建立该组件下方所有组件的关系。当然我做错了吗?一定有更好的方法吗?

TL;DR 我使用 RelativeLayouts 和我放在 UI 中的组件来相对地隔开另一个空间(当然)。如果我将一个组件说到顶部,它下面的项目会随着相对关系的中断而中断。我如何才能更轻松地四处移动组件并试验我的 UI,而无需每次都重命名数十个空间关系?!

最佳答案

这是工具优于手动编码布局 XML 的情况之一。使用图形布局选项卡编辑 XML 有助于减轻重构 RelativeLayout 的痛苦。它不是完美的解决方案,但它确实使事情变得容易得多。

我应该指出,这些更改是在 ADT 14 及更新版本中发生的。如果您使用的是任何旧的 ADT,我建议您升级。如果您不知道如何使用图形编辑器来充分利用您的 RelativeLayout,请查看 this video .

话虽如此,RelativeLayout 的不灵 active 是我更喜欢使用嵌套 LinearLayout 而不是前者的主要原因 - 尽管 Google's suggestions to use the former出于性能原因。

作为妥协,我只对 ListView 中的项目使用 RelativeLayout,对其他所有内容使用嵌套的 LinearLayout

关于android - 如何在不重做所有相对关系的情况下以简单的方式重做 Android XML 布局(尤其是 RelativeLayouts)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674724/

相关文章:

java - 检查 WebView 中的 URL 更改

android - 如何在 Xamarin.Forms Android 微调器中更改日期顺序(从默认到日/月/年)?

android:无法制作多线芯片组

xml - YAML 与 XML 的比较

Android:Row.xml 的相对布局

android - RelativeLayout 问题

Android acharengine - 一旦数据点不在可见区域,图表就会消失?

安卓改造 |发布自定义对象(将 json 发送到服务器)

Javascript - 警告持有 XMLDocument 或 Document 的对象

javascript - 来自任何 XML 的特定 Javascript 对象