0

我有一个片段,我在其中(以编程方式)创建布局和按钮以获得这种视图:

<LayoutMaster>
    <Layout1>
        <Button 1>
        <Button 2>
        ...
    </Layout1>
    <Layout2>
        <Button 1>
        <Button 2>
        ...
    </Layout2>
    ...
</LayoutMaster>

我需要我的按钮填满屏幕并且大小相同。因此,当我使用 XML 文件时,我将这些属性添加到布局和按钮中并且它起作用了:

android:layout_width="fill_parent"
android:layout_height="fill_parent"

但是当我在我的 java 文件中执行此操作时(所以我不使用 xml 布局),当片段渲染时,我只有一个大按钮占据所有屏幕。所以我猜我必须刷新视图并添加一个 LayoutMaster.invalidate() 但没有奏效。

我在片段的 onCreateView 中执行此操作。

像往常一样,再次感谢您的帮助!

4

1 回答 1

0

您设置了错误的属性。您正在使用将一个视图堆叠在另一个视图上的线性布局,然后将按钮的 layout_height 设置为 fill_parent 这就是第一个按钮将占据整个空间的原因。
相反,您应该使用 layout_wight 属性来帮助确定视图将占用多少空间百分比。如果您希望所有视图的大小相同,则对所有视图使用 layout_weight = 1。

android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"

您应该将这些属性用于所有需要具有相同大小的视图。

于 2012-09-15T17:51:04.507 回答