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)注入添加的属性

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

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

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

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

(0)


相关推荐

  • vue 分页 Pagination

    vue 分页 Pagination<el-pagination@size-change=”handleSizeChange”@current-change=”handleCurrentChange” :current-page.sync=”paging.currentPage”:page-sizes=”paging.pageSizes” :page-size=”paging.pageSize”layout=”total,prev,pager,next,jumper” :total=”paging.total”.

  • 电脑设备管理器没有调制解调器_电脑里没有调制解调器

    电脑设备管理器没有调制解调器_电脑里没有调制解调器泼冷水丶回答数:5138|被采纳数:532017-01-0910:55:29打开控制面板。我们的很多操作都在控制面板里实现完成的。查看是否安装过BlueSoleil驱动。首先确定你的电脑上曾经装过BlueSoleil驱动。如果没有装过这个,装过其他提供调制解调器的驱动也可以。安装的蓝牙调制解调器使用情况。在网上邻居里观察下我们的BluetoothPANNetWorkAdapte…

  • mac下安装kubeneters及zsh下配置自动补全

    mac下安装kubeneters及zsh下配置自动补全

  • lrzsz的乱码问题[通俗易懂]

    lrzsz的乱码问题[通俗易懂]相信多数人都使用过lrzsz,它是一款在linux里可代替ftp上传和下载的程序。(来源:百度百科)lrzsz,它可以实现在windows和linux之间进行文件传输,有rz和sz两条命令。-rz:将windows上的文件传输到linux上。-sz:将linux上的文件传到windows上。在ubuntu16上lrzsz的安装:一条简单的命令即可apt-getinstalll…

  • 如何理解相位式激光测距公式

    如何理解相位式激光测距公式参考链接1:相位式激光测距法中相位产生原理参考链接2:相位法激光测距原理及算法详解公式t=Δφ/w在N=0时才成立,可以用多尺测量方法。如果单尺测量,精度较小。选择高频率,则测程变小。所以,综合使用多尺测量。2L=c/f可以用于计算精尺和粗尺频率。…

  • mysql排序字段为空的排在最后面「建议收藏」

    mysql排序字段为空的排在最后面

发表回复

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

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