<include>标记</include>中的layout_weight属性

时间:2011-10-08 10:05:41

标签: android

我正在尝试使用<include>标记重用Android应用程序中的一些布局组件。我有不同的港口和土地布局:

  1. 端口:

    <LinearLayout a:layout_weight="1" a:layout_width="match_parent" a:layout_height="0dp">
    
        <include layout="@layout/calc_equals_button" a:layout_weight="4"/>
        <include layout="@layout/calc_display"/>
    
    </LinearLayout>
    
  2. 土地:

    <LinearLayout a:layout_weight="1" a:layout_width="match_parent" a:layout_height="0dp">
    
        <include layout="@layout/calc_equals_button"/>
        <include layout="@layout/calc_display"/>
    
    </LinearLayout>
    
  3. 主要区别是 a:layout_weight="4" ,所以我希望我的calc_equals_button组件在端口方向上更小。

    问题是,如果我尝试直接嵌入calc_equals_button组件,一切正常,例如:

    <LinearLayout a:layout_weight="1" a:layout_width="match_parent" a:layout_height="0dp">
            <DirectionDragButton
                    xmlns:a="http://schemas.android.com/apk/res/android"
                    a:id="@+id/equalsButton"
                    a:text="="
                    a:layout_width="match_parent"
                    a:layout_height="match_parent"
                    a:layout_weight="4"
                    style="@style/control_button_style"
                    a:onClick="numericButtonClickHandler"/>
    
            <include layout="@layout/calc_display"/>
    
        </LinearLayout>
    

    否则 - 不。

    以下是calc_equals_button.xml的示例:

    <DirectionDragButton
        xmlns:a="http://schemas.android.com/apk/res/android"
        a:id="@+id/equalsButton"
        a:text="="
        a:layout_width="match_parent"
        a:layout_height="match_parent"
        style="@style/control_button_style"
        a:onClick="numericButtonClickHandler"/>
    

1 个答案:

答案 0 :(得分:26)

目前的限制是你必须为要应用的其他layout_ *属性指定layout_width和layout_height。