填充后重新加载布局

时间:2012-09-15 14:06:25

标签: android android-layout android-fragments android-button

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

<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中这样做。

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

1 个答案:

答案 0 :(得分:0)

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

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

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