用addView(View , int ,int )来给布局添加控件
其中长宽若是正数,则直接给控件设置大小.
系统有两个常量 FILL_PARENT和WRAP_CONTENT,也可以直接用.
用 removeView(View ) 来删除layout中的控件
package cn.zyh.l009layout;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Path.FillType;
import android.text.Layout;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
public class MainActivity extends Activity
{
private LinearLayout layout;
private View.OnClickListener removeListener;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout = (LinearLayout) findViewById(R.id.TableLayout1);
removeListener = new View.OnClickListener()
{
@Override
public void onClick(View v)
{
layout.removeView(v);
}
};
for (int i = 0; i < 5; i++)
{
Button btn = new Button(this);
btn.setText("Remove me" + i);
// width 和 height , -1 fill_parent ,-2 wrap_content
// http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html#FILL_PARENT
layout.addView(btn, LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
btn.setOnClickListener(removeListener);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}