有时候根据项目需求需要动态地增加控件.
比如根据一种商品的可支付方式,动态地添加支付手段的按钮.
实现起来比较容易,唯一要注意的是,button外要嵌套一层linearlayout以控制按钮所在位置.
而自定义的按钮样式可以通过selector来实现.
整个Demo工程结构如下:
动态增加按钮的代码:
package com.harlan.demo.activity;
import java.util.ArrayList;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
public class DynBtnActivity extends Activity
{
private LinearLayout mBtnRoot;
private ArrayList<String> Array;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnRoot = (LinearLayout)findViewById(R.id.btn_lay);
initArray();
addBtn();
}