0

我正在尝试动态构建一个布局,该布局大部分显示一些文本和图像,但在底部有一系列彼此相邻放置的按钮。

我有一个带有文本的线性布局,另一个带有图像的线性布局。还有另一个线性布局,它带有在 for 循环中创建的按钮。我有一个垂直对齐的主布局,按该顺序添加文本、图像和按钮布局。最后生成这样的东西:

文字 .... 图片 ... Button1 Button2 Button3 ....

问题是按钮的数量是在运行时决定的,所以如果有超过 4 个按钮,第 5 个按钮会显示得非常小。此外,当我倾斜手机时,我只看到文字和图像,但没有按钮,因为图像覆盖了整个屏幕。

布局对我来说似乎很复杂,感谢任何帮助!

谢谢乔治

4

1 回答 1

0

您不需要将单个视图包装在线性布局中,因此将文本和图像直接添加到根线性布局中。您可以考虑对根使用相对布局而不是线性布局。

对 LayoutParams 的宽度或高度使用 FILL_PARENT 和 WRAP_CONTENT 可以提供一些有用的结果。例如,使用 FILL_PARENT 作为图像高度可能会缩小它以为按钮留出空间。

请注意 LayoutParams,因为它们有很多,并且只应使用与 ViewGroup 类匹配的一个。

一种选择是onLayout在自定义 ViewGroup 中实现您自己的方法。您将获得必须使用的尺寸,并能够按照您认为合适的方式定位所有视图。

于 2010-05-02T06:15:30.527 回答