我正在尝试动态构建一个布局,大部分都会显示一些文本和图像,但是在底部有一系列按钮彼此相邻放置。
我有一个带有文本的线性布局,另一个带有图像的线性布局。还有另一种线性布局,它带有在for循环中创建的按钮。我有一个垂直对齐的主布局,按顺序添加文本,图像和按钮布局。最终生成这样的东西:
文字.... 图片 ... Button1 Button2 Button3 ....
问题是在运行时决定了按钮的数量,所以如果有超过4个按钮,第5个按钮显示的非常小。此外,当我倾斜手机时,我只显示文字和图像,但没有按钮,因为图像覆盖了整个屏幕。
布局似乎对我来说非常复杂,任何帮助都表示赞赏!
由于 乔治
答案 0 :(得分:0)
您不需要在线性布局中包装单个视图,因此将文本和图像直接添加到根线性布局。您可以考虑为根使用相对布局而不是线性。
对LayoutParams宽度或高度使用FILL_PARENT和WRAP_CONTENT可以提供一些有用的结果。例如,使用FILL_PARENT作为图像高度可能会缩小它以留出按钮的空间。
注意LayoutParams,因为它们很多,只应使用与ViewGroup类匹配的那个。
一种选择是在自定义ViewGroup中实现您自己的onLayout
方法。您将传递您必须使用的尺寸,并能够根据您的需要定位所有视图。