如何使用layout inflatter在另一个视图中添加视图

时间:2012-07-10 06:21:39

标签: android layout-inflater

我用两个按钮创建了mainLayout

添加:添加其他布局

删除:删除其他布局。

    <Button
             android:id="@+id/btnAdd"
             android:textStyle="bold"

             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
             android:text="Add View"
             android:onClick="addView" />

      <Button
             android:id="@+id/btnRemove"
             android:textStyle="bold"

             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
             android:text="Remove View"
             android:onClick="removeView" />

现在我编写了以下代码来添加视图 当我点击addView按钮

               LayoutInflater inflater= (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
    view=inflater.inflate(R.layout.other_layout,null);


    mainLayout.addView(view);

视图将添加到主要布局下方。 但我希望视图添加在addView按钮下方(以及removeView按钮上方而不是主布局的底部)

我该怎么做?

3 个答案:

答案 0 :(得分:1)

在两个按钮之间添加一个framelayout。

然后在运行时将视图膨胀到framelayout。

LayoutInflater inflater= (LayoutInflater)this.getSystemService (LAYOUT_INFLATER_SERVICE);     view=inflater.inflate(R.layout.other_layout,null);  
    myframeLayout.addView(view); 

答案 1 :(得分:0)

在Android中重复使用布局的最佳方法是使用<include>标记。 点击此处了解更多使用方法:Re-using layouts with include tag

答案 2 :(得分:0)

使用<merge>标记创建要添加的新布局,如:

<merge ...>
   //your layout
</merge>

在主布局中添加<include>布局,其中可见性已消失(或不可见)。通过处理您想要的事件,您可以根据自己的喜好调整可见性。