layout_gravity和gravity的区别

Posted 龙种人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了layout_gravity和gravity的区别相关的知识,希望对你有一定的参考价值。

 

1、他们的区别在于:

android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置.

android:layout_gravity是用来设置该view相对与父view 的位置.比如一个button 在linearlayout里,你想把该button放在linearlayout里靠左、靠右等位置就可以通过该属性设置. 

 

2、如何在代码中动态设置这两个属性

Button button  = new Button(this);  
button.setText("One");  
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);  
//此处相当于布局文件中的Android:layout_gravity属性  
lp.gravity = Gravity.RIGHT;  
button.setLayoutParams(lp);  
//此处相当于布局文件中的Android:gravity属性  
button.setGravity(Gravity.CENTER);  
  
LinearLayout linear = new LinearLayout(this);  
//注意,对于LinearLayout布局来说,设置横向还是纵向是必须的!否则就看不到效果了。  
linear.setOrientation(LinearLayout.VERTICAL);  
linear.addView(button);  
setContentView(linear);  

 

以上是关于layout_gravity和gravity的区别的主要内容,如果未能解决你的问题,请参考以下文章

重力和layout_gravity之间的确切区别是啥[重复]

android:layout_gravity 和 android:gravity 之间的区别 [重复]

layout_gravity和gravity的区别

android:layout_gravity和android:gravity的区别

AS中layout_gravity与gravity的区别

android:layout_gravity和android:gravity属性的区别