2012-07-11 74 views
0

我創建mainLayout有兩個按鈕如何添加使用佈局另一種觀點認爲inflatter

添加:添加其他佈局

刪除:刪除其他佈局。

<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

修改這一行,並把你的父視圖。

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

它應該工作

0

得到parentLayout這樣

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

然後

parentLayout.addView(yourview); 
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); 
     } 
    }); 
工作正常
0

我會在主要佈局的頂部放置一個空的LinearLayout佔位符,您希望您的視圖位於該位置,並將視圖添加到該佈局中而不是主佈局。

您可以先調整佔位符並修改其位置和外觀。

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

<Button 
..../> 

<Button 
..../> 
0

我會考慮使用一個​​3210它擁有一個地方,直到.inflate()被調用。這樣佈局在需要之前不會佔用資源。