天天看點

Android布局中涉及的一些屬性

下面我們将在一個簡單的textview中應用android:gravity屬性。假設我們想要textview内的内容在右側顯示,那麼我們就可以編寫對應的xml布局

Android布局中涉及的一些屬性
Android布局中涉及的一些屬性

效果如下圖

Android布局中涉及的一些屬性

為了更加準确地控制textview裡面内容的位置,我們可以使用一系列的padding屬性來控制。在使用padding屬性之前,先科普一下padding和marigin之間的差別,然後我們在通過實際的效果看看他們之間的差異。

下圖所示是一個類似盒子的模型,我們将通過下面的模型來講解padding和marigin之間的差別。從圖中可以看出,在container(父控件)裡面有一個子控件,假設是一個textview控件。其中margin是子控件與父控件之間的間隔大小。border是子控件的邊框,它是子控件和父控件的邊界。padding是指子控件中的内容(content area)與子控件border的間隔大小。

Android布局中涉及的一些屬性

android中有一系列的margin屬性,下面讓我們看看其中的android:layout_marginright屬性,為了有一個對比的效果,我們先将marginright設為0dip,再将其設為50dip,如以下兩圖所示

android:layout_marginright="0dip"

android:layout_marginright="50dip"

Android布局中涉及的一些屬性
Android布局中涉及的一些屬性

從上圖中,我們可以看出,左圖textview控件跟他的父控件的是沒有右間隔的,而右圖明顯的有一塊間隔(見右圖黃色圈圈部分)。

與marginright相同的還有以下屬性,它們的原理都相同,就不一一細講了。

屬性名

相關方法

描述

<a href="http://developer.android.com/reference/android/view/viewgroup.marginlayoutparams.html#attr_android:layout_marginbottom">android:layout_marginbottom</a>

<a href="http://developer.android.com/reference/android/view/viewgroup.marginlayoutparams.html#setmargins(int,%20int,%20int,%20int)">setmargins(int,int,int,int)</a>

specifies extra space on the bottom side of this view.

<a href="http://developer.android.com/reference/android/view/viewgroup.marginlayoutparams.html#attr_android:layout_marginend">android:layout_marginend</a>

<a href="http://developer.android.com/reference/android/view/viewgroup.marginlayoutparams.html#setmarginend(int)">setmarginend(int)</a>

specifies extra space on the end side of this view.

<a href="http://developer.android.com/reference/android/view/viewgroup.marginlayoutparams.html#attr_android:layout_marginleft">android:layout_marginleft</a>

specifies extra space on the left side of this view.

<a href="http://developer.android.com/reference/android/view/viewgroup.marginlayoutparams.html#attr_android:layout_marginright">android:layout_marginright</a>

specifies extra space on the right side of this view.

<a href="http://developer.android.com/reference/android/view/viewgroup.marginlayoutparams.html#attr_android:layout_marginstart">android:layout_marginstart</a>

<a href="http://developer.android.com/reference/android/view/viewgroup.marginlayoutparams.html#setmarginstart(int)">setmarginstart(int)</a>

specifies extra space on the start side of this view.

<a href="http://developer.android.com/reference/android/view/viewgroup.marginlayoutparams.html#attr_android:layout_margintop">android:layout_margintop</a>

specifies extra space on the top side of this view.

下面讓我們來看看android:layout_paddingright屬性。我們将在以下布局中,通過改變android:layout_paddingright屬性,來看看變化。

Android布局中涉及的一些屬性

為了有一個對比的效果,我們先将paddingright設為0dip,再将其設為50dip,如以下兩圖所示

android:layout_paddingright="0dip"

android:layout_paddingright="50dip"

Android布局中涉及的一些屬性
Android布局中涉及的一些屬性

從上圖中,我們可以看出,左圖textview控件中的内容跟textview的邊框(border)是沒有右間隔的,而右圖明顯的有一塊間隔(見右圖黃色圈圈部分)。

與paddingright相同的還有以下屬性,它們的原理都相同,就不一一細講了。

<a href="http://developer.android.com/reference/android/view/view.html#attr_android:padding">android:padding</a>

<a href="http://developer.android.com/reference/android/view/view.html#setpaddingrelative(int,%20int,%20int,%20int)">setpaddingrelative(int,int,int,int)</a>

sets the padding, in pixels, of all four edges.

<a href="http://developer.android.com/reference/android/view/view.html#attr_android:paddingbottom">android:paddingbottom</a>

<a href="http://developer.android.com/reference/android/view/view.html#attr_android:paddingend">android:paddingend</a>

<a href="http://developer.android.com/reference/android/view/view.html#attr_android:paddingleft">android:paddingleft</a>

<a href="http://developer.android.com/reference/android/view/view.html#setpadding(int,%20int,%20int,%20int)">setpadding(int,int,int,int)</a>

<a href="http://developer.android.com/reference/android/view/view.html#attr_android:paddingright">android:paddingright</a>

<a href="http://developer.android.com/reference/android/view/view.html#attr_android:paddingstart">android:paddingstart</a>

<a href="http://developer.android.com/reference/android/view/view.html#attr_android:paddingtop">android:paddingtop</a>

<a href="http://files.cnblogs.com/kissazi2/testlinearlayout.rar" target="_blank">示例代碼</a>

本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

轉載:http://www.cnblogs.com/kissazi2/p/3309109.html

繼續閱讀