0

我用两个按钮创建了 mainLayout

add:添加其他布局

remove :删除其他布局。

    <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);

视图添加到主布局下方。但我希望视图添加到屏幕中间而不是屏幕底部。

我怎样才能做到这一点?

4

5 回答 5

0

像这样得到parentLayout

parentLayout=(YourParentLayout)view.findViewById(R.id.parentLayout);

然后

parentLayout.addView(yourview);
于 2012-07-11T04:51:18.630 回答
0

修改此行并放置您的父视图。

view=inflater.inflate(R.layout.other_layout,PARENT_VIEW_OBJECT);

它应该工作

于 2012-07-11T04:43:22.523 回答
0

你可以检查下面的代码,它对我来说工作正常

private View view = null ;
Button addbutton = null;
ViewGroup parent = null;
LayoutInflater inflater = null;

inflater= (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
addbutton = (Button)findViewById(R.id.btnAdd);

parent = (ViewGroup) findViewById(R.id.mainxml);


addbutton.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
           view = inflater.inflate(R.layout.other, null);
            parent.addView(view);
       }
   });
于 2012-07-11T04:57:12.853 回答
0

我会考虑使用ViewStub它在调用 .inflate() 之前占有一席之地。这样,布局在需要之前不会占用资源。

于 2016-02-25T20:31:13.100 回答
0

我会在您希望视图所在的主布局顶部放置一个空的 LinearLayout 占位符,并将视图添加到其中而不是主布局。

您可以先调整占位符并修改其位置和外观。

<LinearLayout
android:id="@+id/placeholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

<Button
..../>

<Button
..../>
于 2016-02-25T20:22:23.883 回答