android: layout_gravity与gravity区别及动态设置

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);



你可能感兴趣的:(Android)