【问题标题】:Proper way to change things in layouts in Android在 Android 中更改布局的正确方法
【发布时间】:2013-04-13 05:52:18
【问题描述】:

我想知道在布局中更改内容的正确方法是什么。 例如,显示或不显示某些视图。

现在我正在 XML 中制作我需要的每个按钮,并使用 java 根据偏好使它们可见或消失。 这行得通,但是我想知道这是否是最好的方法。 我必须一遍又一遍地为相同的按钮编写大量 XML 代码。除了现在他们在不同的地方。

所以我想知道是否有更好的方法。有没有大神赐教?

干杯,

大安

【问题讨论】:

  • 如果没有看到您的一些代码并确切地知道您何时/如何使用它们,没有人可以真正说出来。如果它们被大量使用,那么在需要时将它们隐藏在 java 中。如果您能够重用 Viewslisteners,那么这是最好的,除非在您的情况下不实用
  • 我正在使用的视图会被大量使用。在这种情况下,一大组按钮。您可以选择将按钮放在屏幕右侧或屏幕左侧。对我来说最简单的方法是用 XML 编写按钮,然后将它们相应地设置为 VISIBLE 或 GONE。
  • 所以你要复制每个,左右?如果这是您正在做的事情,那么您最好查看碎片,但如果您已经完成并且没有任何问题,那么应该没问题
  • 谢谢,我会尽快查看片段

标签: android layout views


【解决方案1】:

只要有可能,我就会完全按照你的建议去做。我布局所有内容并经常更改“可见性”。

在我的大部分 Android 开发中,当您不知道屏幕上所需小部件的确切数量或类型时,我会保留动态布局。

顺便说一句:我更喜欢手写 XML 而不是使用图形布局编辑器。而且,在使用其他构造之前,我会尽可能使用嵌套的“水平”和“垂直”LinearLayout 单元格。

【讨论】:

  • 我不同意。 RelativeLayout 已创建,因此不需要嵌套 LinearLayouts。它们并不总是很糟糕,但RelativeLayout 可以更强大、更通用
  • 强烈不同意上述评论。 LinearLayout 允许模块化。 RelativeLayout 会创建难以维护的代码,并且应该在由于期望的重叠或其他自定义行为而无法维护时使用,并且通常作为各种其他布局对象中的组件。 LinearLayout 也更简单,因为您不必指定哪一侧、下方、上方等。
  • 哦,我同意LinearLayout 更简单。对我来说,晚餐加热热狗比做一道美味的意大利面要简单。但是,如果成千上万的人要享用我的晚餐,那么我想给他们意大利面。 RelativeLayout 当然有更多的学习曲线,但恕我直言,一旦你习惯了它,它就更容易维护并获得你想要的结果
  • 非常感谢您提供的信息!动态布局是指真正从代码创建布局和视图,而不需要 XML?
  • 所有的布局都可以通过代码和 XML 来完成。这是一个有用的例子:stackoverflow.com/questions/4979212/…
猜你喜欢
  • 1970-01-01
  • 2021-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-23
  • 1970-01-01
  • 2012-10-05
  • 2012-09-15
相关资源
最近更新 更多