Android 通过代码创建页面组件


TextView tv=new TextView(context);
LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(
   LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
tv.setLayoutParams(params);
//左右上下
int left=tv.getLeft();
int right=tv.getRight();
int width=tv.getWidth();
int height=tv.getHeight();
//左右上下的内部空白
int padingLeft=tv.getPaddingLeft();
int padingRight=tv.getPaddingRight();
int padingTop=tv.getPaddingTop();
int padingBt=tv.getPaddingBottom();
//只有LinearLayout.LayoutParams等有Margins属性,不是所有的布局都有Margins要看具体情况
int marginLeft=params.leftMargin;
int marginRight=params.rightMargin;
int marginTop=params.topMargin;
int marginBt=params.bottomMargin;

有时候运行时代码需要这样取Margins:
ViewGroup.LayoutParams p=this.getLayoutParams();
if(p!=null && p instanceof LinearLayout.LayoutParams){
LinearLayout.LayoutParams lp=(LinearLayout.LayoutParams)p;
int margingLeft=lp.leftMargin;
...
}

相关内容