天天看点

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>

本文转自陈哈哈博客园博客,原文链接<b>http://www.cnblogs.com/kissazi2/p/3309109.html如需转载请自行联系原作者</b>

<b></b>

<b>kissazi2</b>

继续阅读