下面我们将在一个简单的textview中应用android:gravity属性。假设我们想要textview内的内容在右侧显示,那么我们就可以编写对应的xml布局


效果如下图
为了更加准确地控制textview里面内容的位置,我们可以使用一系列的padding属性来控制。在使用padding属性之前,先科普一下padding和marigin之间的区别,然后我们在通过实际的效果看看他们之间的差异。
下图所示是一个类似盒子的模型,我们将通过下面的模型来讲解padding和marigin之间的区别。从图中可以看出,在container(父控件)里面有一个子控件,假设是一个textview控件。其中margin是子控件与父控件之间的间隔大小。border是子控件的边框,它是子控件和父控件的边界。padding是指子控件中的内容(content area)与子控件border的间隔大小。
android中有一系列的margin属性,下面让我们看看其中的android:layout_marginright属性,为了有一个对比的效果,我们先将marginright设为0dip,再将其设为50dip,如以下两图所示
android:layout_marginright="0dip"
android:layout_marginright="50dip"
从上图中,我们可以看出,左图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属性,来看看变化。
为了有一个对比的效果,我们先将paddingright设为0dip,再将其设为50dip,如以下两图所示
android:layout_paddingright="0dip"
android:layout_paddingright="50dip"
从上图中,我们可以看出,左图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