关于相对布局RelativeLayout的各种属性介绍

80 篇文章 0 订阅
63 篇文章 0 订阅
RelativeLayout相对布局是个人觉得在android布局中比较常用且好用的一个,当然如果想让布局更漂亮是需要多种布局混合搭建的,这里就需要更深入的学习了,在这只介绍下有关相对布局的东西。

相对于兄弟元素
android:layout_below="@id/aaa":在指定View的下方
android:layout_above="@id/xxx":在指定View的上方
android:layout_toLeftOf="@id/bbb":在指定View的左边
android:layout_toRightOf="@id/cccc":在指定View的右边
相对于父元素
android:layout_alignParentLeft="true":在父元素内左边
android:layout_alignParentRight="true":在父元素内右边
android:layout_alignParentTop="true":在父元素内顶部
android:layout_alignParentBottom="true":在父元素内底部
对齐方式
android:layout_centerInParent="true":居中布局
android:layout_centerVertical="true":水平居中布局
android:layout_centerHorizontal="true":垂直居中布局
android:layout_alignTop="@id/xxx":与指定View的上边界一致
android:layout_alignBottom="@id/xxx":与指定View下边界一致
android:layout_alignLeft="@id/xxx":与指定View的左边界一致
android:layout_alignRight="@id/xxx":与指定View的右边界一致
间隔
android:layout_marginBottom=""; 离某元素底边缘的距离
android:layout_marginLeft=""; 离某元素左边缘的距离
android:layout_marginRight ="";离某元素右边缘的距离
android:layout_marginTop=""; 离某元素上边缘的距离
android:layout_paddingBottom=""; 离父元素底边缘的距离
android:layout_paddingLeft=""; 离父元素左边缘的距离
android:layout_paddingRight ="";离父元素右边缘的距离
android:layout_paddingTop=""; 离父元素上边缘的距离

关于margin 与padding 的区别问题

padding是站在父view的角度描述问题,是自己的内容与其父控件的边之间的距离。margin则是站在自己的角度描述问题,自己与旁边的某个组件的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了。

http://hi.baidu.com/sjlsdy/item/b0203a1b89f700fc746a84b5

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Android笔记之layout布局

1、 android:layout_alignTop="@id/某个组件"    该组件就在"某个组件"的上面了,还可以设置二者距离

android:layout_marginTop="5dp":距离上方的距离为5dp

如果上方有组件就是指该组件,你的组件就会在你上面那个组件的下面。如果没有,就是相对于标题栏的距离

 

2、android:layout_below="@id/userinfo"是指位置在id为userinfo控件的下方

android:layout_above 反之

2、<LinearLayout    

android:orientation="horizontal"  :则这个容器里面的组件全部按水平横向排列(如上半图)

  <LinearLayout 

android:orientation="vertical"    :容器里面的组件全部竖直垂直排列 (如下半图)

 

3、android:visibility="gone"  意思是此视图是否显示

其有三个属性:visible显示;invisible显示黑背景条;gone不显示

在类中,可以设置其显示与否,setVisibility(View.GONE);不显示;setVisibility(View.VISIBLE);显示。

 5、android:padding与android:layout_margin

android:padding 是指该view里面的内容与view边界的距离,例如Editext里面的文字离编辑框的距离(上下左右都会有间隔);

android:paddingLeft / Right / Top / Bottom

android:layout_margin 是指该view于父view边界的距离,例如EditText与父view的四周边界都会有距离。
android:layout_marginLeft / Right / Top / Bottom
 
6、 android:layout_alignTop="@id/xxx":与指定View的上边界一致
android:layout_alignBottom="@id/xxx":与指定View下边界一致
android:layout_alignLeft="@id/xxx":与指定View的左边界一致
android:layout_alignRight="@id/xxx":与指定View的右边界一致
 
相对于兄弟元素
android:layout_below="@id/aaa":在指定View的下方
android:layout_above="@id/xxx":在指定View的上方
android:layout_toLeftOf="@id/bbb":在指定View的左边
android:layout_toRightOf="@id/cccc":在指定View的右边
相对于父元素
android:layout_alignParentLeft="true":在父元素内左边
android:layout_alignParentRight="true":在父元素内右边
android:layout_alignParentTop="true":在父元素内顶部
android:layout_alignParentBottom="true":在父元素内底部

http://www.cnblogs.com/xingyyy/p/3283627.html

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Android布局属性介绍(整理)

Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局).

一、FrameLayout

这个布局可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个,那就在放在原来放的位置的上面,这样依次的放,会盖住原来的东西。这个布局比较简单,也只能放一点比较简单的东西。

二、LinearLayout

线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal")。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

linearLayout中有一个重要的属性android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。

三、AbsoluteLayout

绝对布局犹如div指定了absolute属性,用X,Y坐标来指定元素的位置android:layout_x="20px"android:layout_y="12px"这种布局方式也比较简单,但是在垂直随便切换时,往往会出问题,而且多个元素的时候,计算比较麻烦。 

四、RelativeLayout

相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:

相对于某一个元素

android:layout_below="@id/aaa" 该元素在 id为aaa的下面
android:layout_toLeftOf="@id/bbb" 改元素的左边是bbb

相对于父元素的地方

android:layout_alignParentLeft="true" 在父元素左对齐
android:layout_alignParentRight="true" 在父元素右对齐

还可以指定边距等,具体详见API

五.TableLayout

表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定他的对齐方式android:gravity="" 。

每一个布局都有自己适合的方式,另外,这五个布局元素可以相互嵌套应用,做出美观的界面。

各种Layout用到的一些重要的属性:

  第一类:属性值为true或false

  android:layout_centerHrizontal 水平居中

  android:layout_centerVertical 垂直居中

  android:layout_centerInparent 相对于父元素完全居中

  android:layout_alignParentBottom 贴紧父元素的下边缘

  android:layout_alignParentLeft 贴紧父元素的左边缘

  android:layout_alignParentRight 贴紧父元素的右边缘

  android:layout_alignParentTop 贴紧父元素的上边缘

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

  第二类:属性值必须为id的引用名“@id/id-name”

  android:layout_below 在某元素的下方

  android:layout_above 在某元素的的上方

  android:layout_toLeftOf 在某元素的左边

  android:layout_toRightOf 在某元素的右边

  android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐

  android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐

  android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐

  android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐

  第三类:属性值为具体的像素值,如30dip,40px (建议用dip)

  android:layout_marginBottom 离某元素底边缘的距离

  android:layout_marginLeft 离某元素左边缘的距离

  android:layout_marginRight 离某元素右边缘的距离

  android:layout_marginTop 离某元素上边缘的距离

  EditText的android:hint

  设置EditText为空时输入框内的提示信息。

  android:gravity

  android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text在view的靠左,靠右等位置.以button为例,android:gravity=”right”则button上面的文字靠右

  android:layout_gravity

  android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity=”right”则button靠右

  android:layout_alignParentRight

  使当前控件的右端和父控件的右端对齐。这里属性值只能为true或false,默认false。

  android:scaleType:

  android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType/ android:scaleType值的意义区别:

  CENTER /center按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示

  CENTER_CROP / centerCrop按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)

  CENTER_INSIDE / centerInside将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽

  FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示

  FIT_END / fitEnd把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置

  FIT_START / fitStart把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置

  FIT_XY / fitXY 把图片不按比例扩大/缩小到View的大小显示

  MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示。

http://blog.sina.com.cn/s/blog_5edb01e90100z25n.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
相对布局RelativeLayout)是 Android 中常用的一种布局方式,可以根据控件之间的相对位置来确定它们的布局关系。以下是使用相对布局的步骤: 1. 在 XML 布局文件中,使用 `<RelativeLayout>` 标签将布局内容包裹起来。 2. 在 `<RelativeLayout>` 标签内部,使用 `<View>` 或其他布局控件标签来定义需要布局的控件。 3. 对于每个需要布局的控件,可以使用一些属性指定它们与其他控件的相对位置。常用属性包括: - `android:layout_alignParentTop`、`android:layout_alignParentBottom`、`android:layout_alignParentLeft`、 `android:layout_alignParentRight`:将控件与父容器的顶部、底部、左侧或右侧对齐。 - `android:layout_alignTop`、`android:layout_alignBottom`、`android:layout_alignLeft`、`android:layout_alignRight`: 将控件与指定控件的顶部、底部、左侧或右侧对齐。 - `android:layout_below`、`android:layout_above`、`android:layout_toLeftOf`、`android:layout_toRightOf`: 将控件放置在指定控件的下方、上方、左侧或右侧。 - `android:layout_centerInParent`:将控件居中于父容器。 - `android:layout_centerHorizontal`、`android:layout_centerVertical`:将控件水平或垂直居中于父容器。 这些属性可以与其他布局属性(如 `android:layout_width`、`android:layout_height`)结合使用,以确定控件的大小和位置。 4. 使用这些属性为每个控件设置相应的相对位置关系,调整它们的顺序和布局方式,以满足设计需求。 下面是一个示例: ```xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 1" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"/> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 2" android:layout_below="@id/button1" android:layout_alignParentRight="true"/> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 3" android:layout_toLeftOf="@id/button2" android:layout_below="@id/button1" android:layout_marginRight="10dp"/> </RelativeLayout> ``` 在这个示例中,有三个按钮控件,它们的位置相互关联。第一个按钮位于父容器的顶部和左侧,第二个按钮位于第一个按钮的下方和父容器的右侧,第三个按钮位于第一个按钮和第二个按钮之间,并稍微向右偏移了一些距离。 这样,通过相对布局,我们可以根据控件之间的相对位置来灵活地排列和定位界面元素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值