android:gravity / android:layout_Gravity區別:
android:gravity 是設置該view裡面的內容相對於該view的位置,例如設置button裡面的text相對於view的靠左,居中等位置。
android:layout_gravity 是用來設置該view相對與父view 的位置,例如設置button在layout裡面的相對位置:屏幕居中,水平居中等。
在實踐中,發現有時會同時使用android:gravity和android:layout_Gravity:
<TextView
android:id="@+id/text_displayed"
android:gravity="center" // 設置文字在TextView的居中位置
android:visibility="invisible"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" // 設置TextView位置(FrameLayout):屏幕居中
/>
而Java代碼中設置android:gravity是極其簡單的,setGravity函數搞定瞭:
//此處相當於佈局文件中的Android:gravity屬性
button.setGravity(Gravity.CENTER);
但設置android:layout_margin就麻煩些:
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
//此處相當於佈局文件中的Android:layout_gravity屬性
lp.gravity = Gravity.CENTER;
mTextDisplayed.setLayoutParams(lp);
android:padding / android:layout_margin區別:
android:padding 是指該view裡面的內容與view邊界的距離,例如TextView裡面的文字離TextView控件邊界的數值;
android:layout_margin 是指該view於父view邊界的距離,例如SeekBar與父view的四周邊界。