1. layout_gravity与gravity区别:
gravity:是用来指定文字在控件中的对齐方式。
layout_gravity:是用来指定控件在父控件(布局)的对齐方式。
注意:
当LinearLayout的排列方式为horizontal时,只有垂直方向上的对齐方式才能生效;
当LinearLayout的排列方式为vertical时,只有水平方向上的对齐方式才能生效。
2. 代码中动态设置layout_gravity和gravity:
Button button = new Button(this);
button.setText("Test");
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
//此处相当于布局文件中的Android:layout_gravity属性
param.gravity = Gravity.RIGHT;
button.setLayoutParams(param);
//此处相当于布局文件中的Android:gravity属性
button.setGravity(Gravity.CENTER);
LinearLayout linear = new LinearLayout(this);
//注意,对于LinearLayout布局来说,设置横向还是纵向是必须的!否则就看不到效果了。
linear.setOrientation(LinearLayout.VERTICAL);
linear.addView(button);
setContentView(linear);