天天看点

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

继续阅读