Android基础篇 RelativeLayout.LayoutParams

Android基础篇 RelativeLayout.LayoutParams一、前言RelativeLayout.LayoutParams是一个RelativeLayout的布局参数(1)初始化//包裹内容WRAP_CONTENTRelativeLayout.LayoutParamslayoutParams=newRelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);//全部内容M

大家好,又见面了,我是你们的朋友全栈君。

一、前言

RelativeLayout.LayoutParams是一个RelativeLayout的布局参数

(1) 初始化

// 包裹内容 WRAP_CONTENT
RelativeLayout.LayoutParams layoutParams = new  RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);

// 全部内容 MATCH_PARENT
RelativeLayout.LayoutParams layoutParams = new  RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);

(2)参数
new RelativeLayout.LayoutParams()需要填写宽度和高度两个参数

二、方法属性

(1)addRule方法

addRule方法是我们最常用到的,动态设置控件的位置是一定要使用这个方法的。这个方法有两种方式

addRule(int verb) / addRule(int verb, int subject)

verb主要的参数有:

  • ABOVE 上面 | 之上
  • ALIGN_BASELINE 对齐 排列 对准 : 基线
  • ALIGN_BOTTOM 对齐 :底部
  • ALIGN_END 对齐末端/右边
  • ALIGN_LEFT 对齐左边
  • ALIGN_PARENT_BOTTOM 将子项的【底边】与其RelativeLayout【父项的底边】对齐的规则
  • ALIGN_PARENT_END 将子项的【末端边缘】与其RelativeLayout【父项的末端】边缘对齐的规则
  • ALIGN_PARENT_LEFT 将孩子的【左边缘】与其RelativeLayout【父对象的左边缘】对齐的规则
  • ALIGN_PARENT_RIGHT 将孩子的【右边缘】与其RelativeLayout【父对象的右边缘】对齐的规则
  • ALIGN_PARENT_START 将孩子的【起始边缘】与其RelativeLayou【t父对象的起始边缘】对齐的规则
  • ALIGN_PARENT_TOP 使子项的上边缘与其RelativeLayout父项的上边缘对齐的规则
  • ALIGN_RIGHT 将孩子的右边缘与另一个孩子的右边缘对齐的规则
  • ALIGN_START 将一个孩子的起始边缘与另一个孩子的起始边缘对齐的规则
  • ALIGN_TOP 将孩子的上边缘与另一个孩子的上边缘对齐的规则
  • BELOW 将孩子的上边缘与另一个孩子的下边缘对齐的规则
  • CENTER_HORIZONTAL 使子级相对于其RelativeLayout父级的边界水平居中的规则
  • CENTER_IN_PARENT 使子项相对于其RelativeLayout父项的边界居中的规则
  • CENTER_VERTICAL 使子项相对于其RelativeLayout父项的边界垂直居中的规则
  • END_OF 将孩子的起始边缘与另一个孩子的终止边缘对齐的规则
  • LEFT_OF 将孩子的右边缘与另一个孩子的左边缘对齐的规则
  • RIGHT_OF 将孩子的左边缘与另一个孩子的右边缘对齐的规则
  • START_OF 将孩子的末端边缘与另一个孩子的起始边缘对齐的规则
  • TRUE 为真

subject参数是我们另外的控件ID。

setMargins(int left, int top, int right, int bottom)
当前控件设置边距,参数分别是左边,上边,右边,下边。单位是px。

setMarginStart(int start)
当前控件设置开始边距,国内默认是左边的边距,单位是px。

setMarginEnd(int end)
当前控件设置结束边距,国内默认是右边的边距,单位是px。

dp值转换方法

public static int dip2px(Context context, float dpValue) { 
   
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }

参考例子:

   RelativeLayout.LayoutParams params = new  RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
   		//参数一 传入位置值 参数二:参照物的id值
        params .addRule(RelativeLayout.ABOVE,mTextView.getId());
       // params .setMargins(0,dip2px(context,10),0,0);
       // params .setMargins(0,dip2px(context,50),0,0);
        mViewPager.setLayoutParams(params );
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160824.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab实现人脸识别gui界面_神经网络实现人脸识别

    matlab实现人脸识别gui界面_神经网络实现人脸识别最近在学习matlab图像处理部分,发现人脸识别这一块非常好玩,在这里做个总结。人脸识别之一:查找图片中的人脸并用方框圈出这种类似于智能手机拍照时,屏幕里那个框任务头部的红框。大致步骤为:获取RGB图片—>转换为灰度图像—>图像处理—>人脸识别。从书中摘出的代码如下:clearallclc%获取原始图片i=imread(‘face.j…

    2022年9月25日
    5
  • Cookies的实际存储位置

    Cookies的实际存储位置

    2021年10月12日
    54
  • c语言和java语言哪个比较好

    c语言和java语言哪个比较好c语言和java语言哪个比较好java语言和c语言的区别有单文件的编译时间java比c语言快;c语言可以直接操作内存,java不能直接操作;c语言可以封装动态库,java不行;c语言有指针,java没有指针;c语言可以直接操作串口,java需要第三方jar包支持等等,那么c语言和java语言哪个比较好?两者有什么区别呢?下面就来具体了解一下。1、c语言可以直接操作串口,java需要第三方jar包支持;c语言的线程更加灵活,java的线程都已经封装好了;c语言做单独功能,可以增加效率,java适用做w

    2022年7月16日
    12
  • html给网页添加背景音乐_网页怎么在属性里加入音乐

    html给网页添加背景音乐_网页怎么在属性里加入音乐方式一:<videocontrols=””autoplay=””name=”media”><sourcesrc=”音乐”type=”audio/mpeg”></video><videocontrols=”true”autoplay=”true”name=”media”loop=”true”hidden=”true”…

    2022年9月24日
    4
  • 开心农场外挂助手_开心农场最新版本下载

    开心农场外挂助手_开心农场最新版本下载开心农场外挂助手,支持校内开心农场、校内开心农民、QQ校友开心农场、开心网001花园、开心网农场作用:1、自动倒计时,到朋友作物即将成熟前提醒你。2、不会错过好友的任何一个水果。偷东西一个都不会少。3、时间支持小时的输入;支持关机倒计时。4、支持自定义声音提醒、图标闪烁提醒使用方法:1、添加数据:直接在表格里填写好友标记、时间(分,最近成熟时间)2、添加完毕后,可最小化(就是X按钮)。去干其他事情…

    2025年11月10日
    3
  • 项目活动图 – 举例说明

    项目活动图 – 举例说明关键路径:从开始到结束的所有路径中,时间最长的一条为关键路径。(特点:在关键路径上,所有任务的松弛时间都为0);松弛时间:第一种方法:最晚开始时间-最早开始时间;第二种方法:关键路径的总时间-包含该任务的任务路径花的时间;(前提条件:必须不影响该任务以后的任务路径)举例:关键路径:A-B-D-G-I-K-L=22由前向后推可得出…

    2022年5月13日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号