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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 面试技巧|“唇枪舌剑”之十大招式[通俗易懂]

    面试技巧|“唇枪舌剑”之十大招式

    2022年2月15日
    34
  • navcat Premium 15 激活码-激活码分享

    (navcat Premium 15 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1…

    2022年3月27日
    101
  • 过滤器 和 拦截器的 6个区别,别再傻傻分不清了

    过滤器 和 拦截器的 6个区别,别再傻傻分不清了哎~丢了大人了

    2022年7月25日
    14
  • java命令行执行 jar_java命令打包jar

    java命令行执行 jar_java命令打包jar摘要这个技巧阐明了如何不直接处理清单文件而将一个不能运行jar包转换成一个可以执行的jar包。学会如何写一段转换jar包的程序,将你的jar包转换成你能使用java-jar命令运行jar包或象在windows系统上那样通过双击来运行jar包。你可以很容易地将一个应用的所有的类和资源打包到一个jar文件中去。事实上,这只是打包的一个原因。另一个原因是让用户很容易地执行包中的应用。那么在java的…

    2022年10月5日
    1
  • TensorFlow加载cifar10数据集

    TensorFlow加载cifar10数据集加载cifar10数据集cifar10_dir=’C:/Users/1/.keras/datasets/cifar-10-batches-py'(train_images,train_labels),(test_images,test_labels)=load_data(cifar10_dir)注意:在官网下好cifar10数据集后将其解压成下面形式load_local_cifar10.pyfrom__future__importabsolute_importfrom_

    2022年6月22日
    55
  • 最短路径Dijkstra算法原理及Matlab实现「建议收藏」

    最短路径Dijkstra算法原理及Matlab实现「建议收藏」图论的基础知识不再阐述。最短路径算法主要有二Dijkstra算法Floyd算法Dijkstra算法研究的是从初始点到其他每一结点的最短路径而Floyd算法研究的是任意两结点之间的最短路径以下图为例,首先介绍Dijstra的原理红字为各结点的编号,蓝字为各结点之间的距离首先定义几个变量结点个数n;二维矩阵M(nxn),距离矩阵,连通的结点间即为距离,不…

    2022年6月1日
    64

发表回复

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

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