Android开发——RelativeLayout.LayoutParams的使用「建议收藏」

Android开发——RelativeLayout.LayoutParams的使用「建议收藏」前言在日常的Android开发当中,我们少不了需要动态改变控件在RelativeLayout界面的位置。那么我们就需要使用到RelativeLayout.LayoutParams。RelativeLayout.LayoutParamsRelativeLayout.LayoutParams是一个RelativeLayout的布局参数,我们改变控件的就需要使用到。初始化//包裹内容Rel…

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

前言

在日常的Android开发当中,我们少不了需要动态改变控件在RelativeLayout界面的位置。那么我们就需要使用到RelativeLayout.LayoutParams。

RelativeLayout.LayoutParams

RelativeLayout.LayoutParams是一个RelativeLayout的布局参数,我们改变控件的就需要使用到。

初始化

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

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

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

addRule方法

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

addRule(int verb)

verb主要的参数有:

  • ABOVE
  • ALIGN_BASELINE
  • ALIGN_BOTTOM
  • ALIGN_END
  • ALIGN_LEFT
  • ALIGN_PARENT_BOTTOM
  • ALIGN_PARENT_END
  • ALIGN_PARENT_LEFT
  • ALIGN_PARENT_RIGHT
  • ALIGN_PARENT_START
  • ALIGN_PARENT_TOP
  • ALIGN_RIGHT
  • ALIGN_START
  • ALIGN_TOP
  • BELOW
  • CENTER_HORIZONTAL
  • CENTER_IN_PARENT
  • CENTER_VERTICAL
  • END_OF
  • LEFT_OF
  • RIGHT_OF
  • START_OF
  • TRUE

addRule(int verb, int subject)

verb主要的参数有:

  • ABOVE
  • ALIGN_BASELINE
  • ALIGN_BOTTOM
  • ALIGN_END
  • ALIGN_LEFT
  • ALIGN_PARENT_BOTTOM
  • ALIGN_PARENT_END
  • ALIGN_PARENT_LEFT
  • ALIGN_PARENT_RIGHT
  • ALIGN_PARENT_START
  • ALIGN_PARENT_TOP
  • ALIGN_RIGHT
  • ALIGN_START
  • ALIGN_TOP
  • BELOW
  • CENTER_HORIZONTAL
  • CENTER_IN_PARENT
  • CENTER_VERTICAL
  • 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。

总结

上述的内容是我阅读RelativeLayout.LayoutParams的源码结合实际开发经常用到的方法笔记。希望对看到这篇博客的小伙伴们有帮助。

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

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

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


相关推荐

  • HPPTS如何保证通信双方的安全性

    HPPTS如何保证通信双方的安全性HTTPS原理和通信流程-知乎

    2022年10月2日
    3
  • win7 powershell版本过低问题

    win7 powershell版本过低问题

    2021年10月28日
    60
  • LED亮度调节原理

    LED亮度调节原理近年来Light-emittingdiode(LED)被广泛用于照明行业,相较于其他光源,LED具有诸多优势:光效高、寿命长、色温变化小、动态响应快、体积小等。那么如何才能设计出合理的灯具呢,我来给大家罗列一下LED的主要特性。一.发光原理当电流被注入到半导体的PN结时,原子中低能级的电子吸收能量从基态被激发到较高能级,这个能级我们称之为激发态。而激发态的寿命是短暂的,他十…

    2022年6月9日
    66
  • idea中选中一行的快捷键_idea撤销快捷键恢复

    idea中选中一行的快捷键_idea撤销快捷键恢复之前前端开发一直使用VSCode,常用快捷键删除一行或者当前选中的几行代码,使用idea的时候发现快捷键并不相同,查看发现idea的快捷是:Ctrl+Y,比手动删除代码方便很多。通过File->Setttings->Keymap可以查看已经设置好的快捷键:…

    2025年9月27日
    4
  • 我为什么放弃Go语言

    我为什么放弃Go语言我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

    2022年6月30日
    22
  • Xpath的常用定位方法及轴定位

    Xpath的常用定位方法及轴定位

    2021年5月24日
    124

发表回复

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

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