【问题标题】:How to change object positions in an android layout?如何更改android布局中的对象位置?
【发布时间】:2011-02-28 15:34:12
【问题描述】:
我目前正在开发一个非常简单的应用程序,我打算让它根据屏幕大小改变视觉方面。该应用程序只有 6 个按钮,如下所示:
我正在使用 AbsoluteLayout,并使用方法 offsetLeftAndRight 和 offsetTopAndBottom 更改按钮的 x 和 y。我没有更改 xml 文件中按钮的布局,所以所有按钮都从同一个地方开始。
但是,如果我在 onClickMethod 中使用此方法,它们有时会出现在我想要它们的位置,有时不会(不知道为什么),但如果我在 onCreate 方法中使用它们,则不会发生任何事情。
有人能指出正确的方向吗?
谢谢
【问题讨论】:
标签:
android
dynamic
layout
【解决方案1】:
首先,您不应该使用AbsoluteLayout。当您处理不同尺寸的屏幕时,通过它们的确切像素位置指定事物是一个麻烦的秘诀。最好使用具有正确重力设置的 LinearLayout、TableLayout 或 RelativeLayout 之类的东西来使其居中。
其次,为什么你的移动视图元素的方法在你的 onCreate 中没有做任何事情:这可能是因为你的方法在按钮从 XML 文件中读取它们的大小之前被调用。换句话说,您的更改甚至在显示之前就被您的 XML 设置覆盖了。
最后,除非您向我们展示代码,否则我们无法说明为什么您的移动方法无法正常工作。 (将其添加到您的问题中,而不是作为对此答案的回复。)