动态代码布局
- 如何添加代码布局
- 代码布局注意的问题
- 代码布局和XML布局的性能比较
如何添加代码布局
for example —— 简单布局LinearLayout
LinearLayout llayout = new LinearLayout(mContext);
llayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT
);
llayout.setLayoutParams(layoutParams);
Button btn = new Button(mContext);
btn.setText("This is Button");
btn.setPadding(8, 8, 8, 8);
btn.setLayoutParams(lp);
llayout.addView(btn);
//这是在Activity的onCreate()中设置布局
setContentView(llayout);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(mContext,
"This is dynamic activity", Toast.LENGTH_LONG).show();
}
});
another example —— 复杂布局RelativeLayout
难点:子控件的相对位置关系的处理
//父控件
RelativeLayout myLayout = new RelativeLayout(this);
myLayout.setBackgroundColor(Color.BLUE)