我用两个按钮创建了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);
视图将添加到主要布局下方。 但我希望视图添加到屏幕中间而不是屏幕底部。
我该怎么做?
答案 0 :(得分:0)
修改此行并放置父视图。
view=inflater.inflate(R.layout.other_layout,PARENT_VIEW_OBJECT);
应该有效
答案 1 :(得分:0)
像这样获取parentLayout
parentLayout=(YourParentLayout)view.findViewById(R.id.parentLayout);
然后
parentLayout.addView(yourview);
答案 2 :(得分: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);
}
});
答案 3 :(得分:0)
我会将一个空的LinearLayout占位符放在主布局的顶部,您希望视图位于该位置,并将视图添加到该布局而不是主布局。
您可以先调整占位符,然后修改它的位置和外观。
<LinearLayout
android:id="@+id/placeholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
..../>
<Button
..../>
答案 4 :(得分:0)
我会考虑使用here它会占据一个位置,直到调用.inflate()。这样,布局在需要之前不会占用资源。