android:gravity 和android:layout_gravity的区别:
android:gravity是自己的内容相对于自己的控件的位置,而android:layout_gravity是自己相对于父类的位置。
前者是相对与部件自己的,比如说一个按钮里面有文字,就是文字相对于按钮的位置,有左、右、上、下等属性,要想比较明显一点,最好把部件改为充满全屏的状态。
后者是相对于父屏幕而言的,,就是整个按钮部件相对于父屏幕而言所在的位置。
android:padding和android:layout_margin的区别
padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了
前者是相对于父屏幕的,有类似的几个属性:layout_marginLeft、layout_marginTop等意思都相似,可以设置其距离,以layout_marginTop为例进行讲解:可以设置数值例如10dip,意思就是离父类部件有10个单位,也可以设置负数,为什么设置负数呢,设置为整数是在线性布局的条件下,如果是相对布局,就可以设置为负数,这样的话,两个部件就有可能想重叠。
后者是相对于父屏幕的,里面也有相似的属性:paddingLeft、paddingTop等,用法与margin都相似,也可以设置其距离远近。