Android开发之布局1--RelativeLayout布局

RelativeLayout 相对布局

  true或false属性

  Layout_centerHorizontal   当控件位于父控件的横向中间位置

  Layout_centerVertical   当控件位于父控件的纵向中间位置

  Layout_centerInParent     当控件位于父控件的中央位置

  Layout_alignParentBotton 当控件低端与父控件低端对齐

  Layout_alignParentLeft 当控件左侧与父控件左侧对齐

  Layout_alignParentRight 当控件右侧与父控件右侧对齐  

  Layout_alignParentTop 当控件顶端与父控件顶端对齐

  Layout_alignWithParentMissing 参照控件不存在或不可见时参照父控件

  属性值为其他控件id的属性

  Layout_toRightOf 使当前控件位于给出id控件的右侧

  Layout_toLeftOf 使当前控件位于给出id控件的左侧

  Layout_above 使当前控件位于给出id控件的上侧

  Layout_below 使当前控件位于给出id控件的下侧

  以像素为单位的属性

  Layout_marginLeft 当前控件左侧的留白

  Layout_marginRight 当前控件右侧的留白

  Layout_marginTop 当前控件上方的留白

  Layout_marginBottom 当前控件下方的留白

**android.widget.RelativeLayout.LayoutParams

  LayoutParams是RealticeLayout的一个内嵌类,通过实例化这个类,我们可以在RelativveLayout中动态添加View

  LayoutParams有一个构造函数:RelativeLayout.LayoutParams(int w, int h)

  参数指定了子 View 的宽度和高度,这一点和其父类是一样的,而实现相对布局的关键在它的 两个 addRule 方法上。

  addRule方法有两种重载的方式

  1.addRule(int verb, int anchor)

   anchor 参数指定可以是 View 的 id(“相对于谁”)、RelativeLayout.TRUE(启用某种对齐方式) 或者 是-1(应用于某些不需要 anchor 的 verb);AddRule 方法的 verb 参数指定相对的“动作”(以下常量均定义于 android.widget.RelativeLayout中,为了简便不给出其全名):

    ALIGN_BOTTOM、ALIGN_LEFT、 ALIGN_RIGHT、 ALIGN_TOP: 本 View 的 底边/左边/右边/顶边 和 anchor 指定的 View 的 底边/左边/右边/顶边 对齐。

    LEFT_OF,RIGHT_OF:  位于anchor 指定的 View 的 左边/右边。

    CENTER_HORIZONTAL、CENTER_IN_PARENT 、CENTER_VERTICAL : 如果 anchor 为 TRUE,在 Parent 中 水平居中/水平和垂直均居中/垂直居中。
    POSITION_ABOVE 、POSITION_BELOW 、 POSITION_TO_LEFT 、POSITION_TO_RIGHT : 本 View 位于 anchor 指定的 View 的 上边/下边/左边/右边。

  2.addRule(int verb)

    ALIGN_WITH_PARENT_BOTTOM 、ALIGN_WITH_PARENT_LEFT 、 ALIGN_WITH_PARENT_RIGHT 、 ALIGN_WITH_PARENT_TOP

    位于父View的底部/左边/右边/顶部

时间: 2024-10-10 02:54:08

Android开发之布局1--RelativeLayout布局的相关文章

Android开发中的性能优化---布局

1.基础 Android中所有的View都是"画"在手机屏幕上的,系统是每隔16ms更新一次Activity中的内容,所以为了让用户看不到卡顿,就要想尽一切方法来让界面在16ms内更改完成,遵循的原则其实只有一个-----尽量的少画东西,这样效率当然就会提高,至于什么减少布局层次,避免重复绘制,总结下来还是尽量少画东西.    为什么是16ms?因为现在市面上的手机一般都是60hz的,所以 16ms/ 帧 ≈ 1s / 60hz 2.方法 使用手机中的开发人员工具--->调试GP

Android开发之详解五大布局

为了适应各式各样的界面风格,Android系统提供了5种布局,这5种布局分别是: LinearLayout(线性布局) TableLayout(表格布局) RelativeLayout(相对布局) AbsoluteLayout(绝对布局) FrameLayout(框架布局) 利用这五种布局,可以在屏幕上将控件随心所欲的摆放,而且控件的大小和位置会随着屏幕大小的变化作出相应的调整.下面是这五个布局在View的继承体系中的关系:<ignore_js_op> 一,LinearLayout(线性布局)

Android开发之玩转FlexboxLayout布局

在这之前,我曾认真的研究过鸿洋大神的Android 自定义ViewGroup 实战篇 -> 实现FlowLayout,按照大神的思路写出了一个流式布局,所有的东西都是难者不会会者不难,当自己能自定义流式布局的时候就会觉得这东西原来很简单了.如果各位小伙伴也看过那篇文章的话,应该知道自定义流式布局还是非常麻烦的,不过Google今年开源了新的容器,就是这个FlexboxLayout,如果你玩过前端开发或者玩过RN,就会觉得这个FlexboxLayout真是简单,OK,那我们今天就来看看这个Flex

Android开发之补间动画-布局添加动画

布局添加动画 使用步骤: 1.获取到布局的id 1 RelativeLayout ly=(RelativeLayout)findViewById(R.id.layout); 2.设置动画样式 1 ScaleAnimation sa = new ScaleAnimation(0, 1,0,1); //设置动画效果 2 sa.setDuration(3000); 3.使用布局动画管理器 1 LayoutAnimationController lac = new LayoutAnimationCont

安卓开发中我们常用的布局方式

在安卓开发中我们常用的布局方式有这么几种: 1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为: android:orientation= " horizontal " android:orientation= "vertical" . 2.RelativeLayout ( 相对布局 ) : (里面可以放多个控件,但是一行只能放一个控件) 附加几类

Android UI之RealtiveLayout(相对布局)

说明:RealtiveLayout是目前android开发中最最常用的布局管理器(比LinearLayout还常用),布局内的子组件的位置总是相互依照其他子组件和RealtiveLayout布局本身来确定的.这样最大的好处就是更加自由灵活,可以设计出更加炫酷复杂的界面,而且可以在IDE中通过直接拖拽来进行界面的布局设计. 注意:RealtiveLayout的子组件不可以设置android:layout_gravity属性. RealtiveLayout中需要关注的属性就比较多了,大概可以分为三类

【Android开发日记】妙用 RelativeLayout 实现3 段布局

在设计过程中,我们经常会遇到这样的需求: 把一条线3控制,左对齐左控制,右侧控制右对齐,中间控制,以填补剩余空间. 或者一列内放3个控件,上面的与顶部对齐,以下的沉在最底部,中间控件是弹性的.充满剩余空间. 情况一:水平布局 图示: 这是第一种情形.因为涉及到ImageView.想保持图片原比例不便使用LinearLayout的weight属性. 解决的方法: 1.外层套一个RelativeLayout 2.三个控件分别装进3个LinearLayout中.假如id分别为leftlayout,mi

【Android开发日记】妙用 RelativeLayout 实现3段式布局

在设计的过程中我们一定经常会遇到这样的需求: 一行内放3个控件,左边控件左对齐,右面控件右对齐,中间控件来填充剩下的空间. 或者一列内放3个控件,上面的与顶部对齐,下面的沉在最底部,中间控件是弹性的,充满剩余空间. 情况一:水平布局 图示: 这是第一种情形.由于涉及到ImageView,想保持图片原比例不便使用LinearLayout的weight属性. 解决办法: 1.外层套一个RelativeLayout 2.三个控件分别装进3个LinearLayout中,假如id分别为leftlayout

.Net程序员玩转Android开发---(7)相对布局RelativeLayout

             相对布局RelativeLayout是Android布局中一个比较常用的控件,使用该控件可以布局出适合各种屏幕分辨率的布局,RelativeLayout采用相对位置进行控件属性设置. 可以设置控件与父控件的位置,控件与控件之间的位置. 1. 控件与父容器位置属性 android:layout_alignParentLeft="true"   子控件相对于父容器靠左边 android:layout_alignParentTop="true"

Android开发-之五大布局

在html中大家都知道布局是什么意思了,简单来说就是将页面划分模块,比如html中的div.table等.那么Android中也是这样的.Android五大布局让界面更加美化,开发起来也更加方便.当然布局方式不一样应用的地方也不一样,当然了有的布局方式也是可以相互转换和嵌套使用的.它们都各有各的优缺点,具体页面要怎么布局还是得看开发需求,但是用的最多的还是相对布局.线性布局以及相对布局和线性布局的嵌套使用.当然,我说的是安卓,并没有指定是安卓手机,比如平板.智能家居(电视...)很多都是Andr