【问题标题】:Reload the layout after filling it填充后重新加载布局
【发布时间】:2012-09-15 14:06:24
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢(我知道有点晚了)它成功了!应用相同的“重量”属性和 tadaaaaa !
    猜你喜欢
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 2012-04-08
    相关资源
    最近更新 更多