Android 动态改变布局属性RelativeLayout.LayoutParams「建议收藏」

Android 动态改变布局属性RelativeLayout.LayoutParams「建议收藏」我们知道,在RelativeLayout布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可。但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的布局排列方式,这时候就需要用到RelativeLayout.LayoutParams.addRule()方法,该方法有两种重载方式:首先初始化:RelativeLayout.LayoutParamslp=(RelativeLayout.LayoutParams)mBottomLayout.ge

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

我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可。

但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的布局排列方式,这时候就需要用到 RelativeLayout.LayoutParams.addRule() 方法,该方法有两种重载方式:
首先初始化: RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) mBottomLayout.getLayoutParams();

addRule(int verb) :用此方法时,所设置节点的属性不能与其它兄弟节点相关联或者属性值为布尔值(布尔值的属性,设置时表示该属性为 true,不设置就默认为 false),比如:addRule(RelativeLayout.CENTER_VERTICAL) 就表示在 RelativeLayout 中的相应节点是垂直居中的。

addRule(int verb, int anchor) :该方法所设置节点的属性必须关联其它的兄弟节点或者属性为布尔值( 属性为 布尔值时,anchor 为 RelativeLayout.TRUE 表示 true,anchor 为0表示 false),比如:addRule(RelativeLayout.ALIGN_LEFT, R.id.date) 就表示 RelativeLayout 中的相应节点放置在一个 id 值为 date 的兄弟节点的左边。

若想修改xml中的某一属性 需要先删除 使用 lp.removeRule();方法

最后对应布局.setLayoutParams(lp)注入添加的属性

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

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

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


相关推荐

  • ODrive应用 #1 ODrive入门指南[通俗易懂]

    ODrive应用 #1 ODrive入门指南[通俗易懂]ODrive入门文章目录ODrive入门硬件需求需要准备以下硬件:ODrive接线WiringupthemotorsWiringuptheencodersSafety&PowerUPDownloadingandInstallingToolsWindowsOSXLinuxFirmwareStart`odrivetool`ConfigureM02.Set…

    2022年5月14日
    90
  • Windows下搭建FTP服务器的一些总结

    Windows下搭建FTP服务器的一些总结Windows下搭建FTP服务器前言:如果你的电脑上的控制面板–程序–打开或关闭windows功能–windows功能里面没有互联网信息服务(IIS),那就别在网上浪费时间了,我找着了一天的资料打了各种补丁没成功,没有相关的IIS或者连c:\windows\system32\inetsrv这个路径都没有,原因是因为你的电脑系统可能是家庭版win7,或者是ghost安装系统的时候精简…

    2022年7月21日
    20
  • robot framework-创建测试用例「建议收藏」

    robot framework-创建测试用例

    2022年4月2日
    40
  • Fiddler高级用法-设置断点「建议收藏」

    Fiddler高级用法-设置断点「建议收藏」我们知道Fiddler是位于客户端和服务器之间的代理,它能够记录客户端和服务器之间的所有HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改

    2022年7月1日
    32
  • Go 1 – 概览/安装

    Go 1 – 概览/安装安装包下载地址一安装Golang的SDK二配置环境变量三使用命令行调试参考文章地址网上有很多安装方法,比如通过homebrew来安装。这里是直接下载的安装包。安装包下载地址地址:https://golang.org/dl/一、安装Golang的SDK双击.tar文件,就会自动解压成名字为“go”的文件夹;拖拽到你的用户名下,记住路径;我的路径为:/Users/MelissaShu

    2022年10月11日
    4
  • java实现反射_java五大原则

    java实现反射_java五大原则一、什么是java反射?二、HelloWorld三、类加载与反射关系四、操作反射的java类五、反射的常用场景六、反射的优缺点

    2022年8月24日
    10

发表回复

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

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