android:gravity / android:layout_Gravity屬性區分 – Android移動開發技術文章_手機開發 Android移動開發教學課程

 

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的四周邊界。

You May Also Like