您的位置:首页 > 移动开发 > Android开发

Android布局问题基本理解

2015-08-13 14:11 225 查看
初学Android的时候,经常由于布局名字相似,功能差不多容易弄混,今天来简单的解释一下,加深理解。主要讲RelativeLayout。

1、相对于父控件的摆放

android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐;

android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;

android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐;

android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐;

举个例子:android:layout_alignParentTop="true"
就是将这个控件与父控件的顶部对其,一般父控件为布局。

2、相对于父控件居中方式

android:layout_centerHorizontal
如果为true,将该控件的置于水平居中;

android:layout_centerVertical 如果为true,将该控件的置于垂直居中;

android:layout_centerInParent 如果为true,将该控件的置于父控件的中央;

android:layout_alignWithParentIfMissing
如果对应的兄弟元素找不到的话就以父元素做参照物;

用法与上相同

3、然后是控件相对于控件的摆放

android:layout_above 将该控件的底部置于给定ID的控件之上;

android:layout_below 将该控件的底部置于给定ID的控件之下;

android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;

android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐;

举个例子:android:layout_above="@+id/button1" 就是将这个控件置于“button1”这个控件之上。

4、控件相对于控件的摆放

android:layout_alignBaseline
将该控件的baseline与给定ID的baseline对齐;

android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐;

android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐;

android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐;

android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐;
举个例子:android:layout_alignTop="@+id/button1"
就是将这个控件与“button1”这个控件的顶部边缘对其(一般用于两个控件重合或者相交,还用于在嵌套布局中的位置摆放)。

其中有必要解释一下android:layout_alignBaseline
baseline的意思是基线,书写英语单词时为了规范书写会设有四条线,从上至下第三条就是基线。基线对齐主要是为了两个控件中显示的英文单词的基线对齐。

5、相对于父控件控件的偏移量

android:layout_marginTop 上偏移的值;

android:layout_marginBottom 下偏移的值;

android:layout_marginLeft   左偏移的值;

android:layout_marginRight  
右偏移的值;

举例:android:layout_marginTop="5dp"
距离顶部(与其他控件间的距离)5dp

6、相对于控件自身的偏移量

android:paddingTop 上偏移的值;

and
android:paddingBottom 下偏移的值;

android:paddingLeft
左偏移的值;
android:paddingRight
右偏移的值;
例子:button按钮中文字显示的位置,如果偏移量一样可是设置android:padding="5dp"(控件内部的距离)

7、控件布局
android:gravity:
相对于当前控件

android:gravity="top"(类似android:paddingTop
的用法)

android:layout_gravity:相对于父控件

android:layout_gravity="top"(类似android:layout_marginTop
的用法)

这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。

总得来说,带有layout_基本都是相对于父控件,没有的就是当前控件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: