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 );
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 车载以太网之 DHCP协议「建议收藏」

    车载以太网之 DHCP协议「建议收藏」车载以太网与传统以太网的主要区别在于二者的物理层,前者的物理层采用一对双绞线的100BASE-T1,而后者的物理层采用两对双绞线的方式,比如100BASE-TX。而二层以上的协议栈,车载网络则基本借鉴传统网络,区别并不大。下图是基于车载以太网的车载网络所使用的各种通信协议,在这篇文章中我将简要介绍一下位于7层上的DHCP协议。车载以太网涉包含的各种协议DHCP的全称是DynamicHostConfigurationProtocol,翻译作动态主机配置协议。它的用途是为网络节点自动配置I

  • imfilter函数matlab_matlab too many input argument

    imfilter函数matlab_matlab too many input argument认真研读一下MATLAB的help文档吧,解释最权威:BWFILLFillbackgroundregionsinbinaryimage.BWFILLisagrandfatheredfunctionthathasbeenreplacedbyIMFILL.BW2=BWFILL(BW1,C,R,N)performsaflood-filloperationont…

  • 软件著作权说明书模板_软件设计方案怎么写

    软件著作权说明书模板_软件设计方案怎么写1.引言1.1编写目的1.2项目背景1.2项目概要总体要求2.1系统功能概述2.2系统功能要求软件开发3.1软件需求分析3.2软件的概要设计3.2.1软件概要设计说明3.2.3基本设计概念和处理流程3.3软件的详细设计3.3.1系统结构3.3.2模块设计说明3.3.3爬虫模块3.3.4日志模块3.3.5数…

  • 校园二手交易平台的简要分析(纯文档)[通俗易懂]

    校园二手交易平台的简要分析(纯文档)[通俗易懂]校园二手交易平台的简要分析 摘要:校园二手市场就是建立在校园里的提供学生们进行二手物品交易的场所。二手交易在大学校园里面比较常见,一方面,大学生热衷潮流,消费需求较旺盛,但也容易因为冲动购物而产生较多的闲置物品;另一方面,大部分大学生经济未独立,资金来源主要是依靠父母,经济能力有限。现在国家倡导可循环经济,人们的环保意识逐渐增强,加之旺盛的需求与滞后的经济能力形成的鲜明反差,为校园二手市场…

  • Excel中文转拼音【真正的完整版】 拼音 驼峰命名专用

    Excel中文转拼音【真正的完整版】 拼音 驼峰命名专用一、打开Excel按  Alt+F11进入VB编程模式,选择“模块” 二、把下面的代码复制粘贴到“通用”下方的空白处Functionpinyin(pAsString)AsString’*************************************’版本说明:转载请保留此段注释’更新时间:2018年8月28日’作者:上海五航航空技…

  • meta property=og标签含义及作用

    meta property=og标签含义及作用

发表回复

您的电子邮箱地址不会被公开。

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