Android中利用LinearLayout动态添加UI控件

AndroidU I布局中,一般都是利用xml来布局控件,这是比较方便和直观的,但是有时却需要动态生成,下面就举2个简单例子来说明怎么动态添加控件:

1.动态添加2个垂直排列的Button

@Override       public void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);          //setContentView(R.layout.main);                final LinearLayout layout2=new LinearLayout(this);           layout2.setOrientation(LinearLayout.VERTICAL);           Button btn1=new Button(this);           setContentView(layout2);           Button btn2=new Button(this);           btn1.setText("Button1");           btn2.setText("Button2");           layout2.addView(btn1);           layout2.addView(btn2);                               setContentView(layout2);   }  

final LinearLayout layout2=new LinearLayou(this);

定义一个LinearLayout ,参数为context在这儿即为this

layout2.setOrientation(LinearLayout.VERTICAL);

设置layout格式为vertical,竖直排列

2.在Button的click事件中动态添加一个button


OnClickListener listen1;      @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);         //setContentView(R.layout.main);               final LinearLayout layout2=new LinearLayout(this);          layout2.setOrientation(LinearLayout.VERTICAL);          Button btn1=new Button(this);          setContentView(layout2);          Button btn2=new Button(this);          btn1.setText("Button1");          btn2.setText("Button2");          layout2.addView(btn1);          layout2.addView(btn2);                 listen1 = new OnClickListener() {           public void onClick(View v) {               setTitle("点击button1 ");               Button btn3=new Button(v.getContext());               layout2.addView(btn3);               btn3.setText("Button3");                                         }       };        btn1.setOnClickListener(listen1);      }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ppyyj.html