这里以TextView来举例,
这里要首先提到layoutParams
-
- setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.FILL_PARENT));
这是一个封装了宽和高模式,和父布局或者其他控件位置相对关系的参数,通过新建这个参数并且
A:动态设置代码宽和高
固定值 ,wrap_content , match_parent 模式: 可以创建一个封装了width , height的layoutParams ,也可以用
getLayoutParams()或者layoutParams 修改 ,再用setLayoutParams()来重设.
也可以 用textview的setWidth, setHeight方法设置
B 和父布局或者其他布局的相对位置:
layoutParams. addRule 有相应的
verb ,subject
格式1: verb=to left of subject= id名 表示在这个id的左边
格式2 verb= align parent left subject=true 表示在父布局的左边.
C Margin: 可以用setMargin方法 或者用layoutParams.topMargin=XX的方法实现
D padding
textview的setpadding对应padding
E gravity
TextView的gravity属性 可以用 mTv的setGravity 来代替(Gravity.CENTER)
F 代码直接设置weight
G addView() 可以把子view按照一定顺序一定宽高一定的layoutParams加进父ViewGroup中国
layoutParams. addRule 有相应的
verb ,subject
格式1: verb=to left of subject= id名 表示在这个id的左边
格式2 verb= align parent left subject=true 表示在父布局的左边.
textview的setpadding对应padding