前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >安卓代码动态改变控件位置和属性

安卓代码动态改变控件位置和属性

作者头像
用户4458175
发布于 2020-02-12 08:37:50
发布于 2020-02-12 08:37:50
1.7K00
代码可运行
举报
文章被收录于专栏:andy的小窝andy的小窝
运行总次数:0
代码可运行

以下代码改变TextView的margin和CENTER_HORIZONTAL属性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        TextView textView=(TextView)findViewById(R.id.textView);
        ViewGroup.MarginLayoutParams margin2 = new ViewGroup.MarginLayoutParams(textView.getLayoutParams());
        margin2.setMargins(margin2.leftMargin, margin2.topMargin, margin2.rightMargin, margin2.bottomMargin);
        RelativeLayout.LayoutParams layoutParams2 = new RelativeLayout.LayoutParams(margin2);
        layoutParams2.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
        textView.setLayoutParams(layoutParams2);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
layoutparams方法_layoutstretch
LayoutParams主要保存了一个View的布局参数,因此可以使用LayoutParams来改变布局参数从而达到View位置的效果,一般在自定义View的时候使用。
全栈程序员站长
2022/11/08
2950
实习杂记(25):View基类里面的LayoutParams
同时MarginLayoutParams extends LayoutParams 也作为ViewGroup类里面的静态内部类
wust小吴
2019/07/08
5810
Android开发(13) 移动View
我们常用的linearlayout,等都属于流布局,在流布局中如何移动控件呢? 我决定做个尝试。虽然可以使用绝对布局,但我不倾向使用这个布局。那么看看我的方式吧。
张云飞Vir
2020/03/16
6880
AutoFlowLayout-多功能流式布局与网格布局控件
近期工作需要用到流式布局,网上也有很多关于这方面的资料。发现流式布局与网格布局的自定义很有意思,是学习自定义控件的一个很好的方式,所以就撸了个几百行代码的控件,既实用又具有学习价值。 一、AutoFl
非著名程序员
2018/02/09
1.3K0
AutoFlowLayout-多功能流式布局与网格布局控件
Android开发笔记(一百八十七)利用估值器实现弹幕动画
如今上网看电影电视越发流行了,追剧的时候经常看到视频上方数行评论向左边飘去,犹如子弹那样飞快掠过,这些评论文字因此得名“弹幕”。弹幕评论由正在观看的网友们即兴发表,故而连绵不绝从画面右端不断涌现,直到漂至画面左端才隐没消失。 虽然弹幕效果可使用平移动画实现,但平移动画比较单调,只能控制位移,不能控制速率、文字大小、文字颜色等要素。若想同时操纵视图的多种属性要素,需要采用属性动画加以实现。 然而视图的位移大小由间距属性margin控制,该属性又分为上下左右四个方向,更要命的是,这几个margin并非视图View类的属性,而是布局参数LayoutParams的属性,意味着无法通过margin***直接构造属性动画对象。为了动态调整margin这种非常规属性,就要引入估值器实时计算当前的属性值,再据此设置自定义控件的状态参数。 以间距属性为例,它的动画步骤说明如下: 1、定义一个间距估值器,它实现了接口TypeEvaluator的evaluate方法,并在该方法中返回指定时间点的间距数值; 2、调用ValueAnimator类的ofObject方法,根据间距估值器、开始位置和结束位置构建属性动画对象; 3、调用属性动画对象的addUpdateListener方法设置刷新监听器,在监听器内部获取当前的间距数值,并调整视图此时的布局参数; 具体到编码实现上,需要自定义弹幕视图,其内部在垂直方向排列,每行放置一个相对布局。发表弹幕评论时,先随机挑选某行相对布局,在该布局右侧添加文本视图,再通过前述的间距动画向左渐次滑动。弹幕视图的定义代码示例如下:
aqi00
2022/10/05
5510
Android开发笔记(一百八十七)利用估值器实现弹幕动画
自定义FlowLayout,android flowLayout实现
我想大家在开发过程中都碰到过这样的需求,类似标签展示,要展示如上图效果,这里面的数据不确定每项字数,有的非常长,有的很短,数据动态填充。
再见孙悟空_
2023/02/10
3550
自定义FlowLayout,android flowLayout实现
良好的知识储备_listview控件的用法
在上一篇文章里,我总结了一下自定义控件需要了解的基础知识:View的绘制流程——《自定义控件知识储备-View的绘制流程》。其中,在View的测量流程里,View的测量宽高是由父控件的MeasureSpec和View自身的LayoutParams共同决定的。MeasureSpec是什么,上一篇文章里已经说得很清楚了(啥,没看过?快去路克路克,(๑•̀ㅂ•́)و✧)。而LayoutParams呢?是时候在这里做个了断了。
全栈程序员站长
2022/11/08
2990
良好的知识储备_listview控件的用法
layoutparser_你知道什么什么吗
LayoutParams,顾名思义,就是布局参数。而且大多数人对此都是司空见惯,我们 XML 文件里面的每一个 View 都会接触到 layout_xxx 这样的属性,这实际上就是对布局参数的描述。大概大家也就清楚了,layout_ 这样开头的东西都不属于 View,而是控制具体显示在哪里。
全栈程序员站长
2022/09/29
4760
鸿洋AutoLayout代码分析(六):AutoAttr子类补充
上一张,简单说明了 AutoAttr类的方法, 以及子类的实现,以及子类实现分类和理解 这里再简单补充一下
dodo_lihao
2018/09/12
2380
LayoutParams的详解
LayoutParams继承于Android.View.ViewGroup.LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。
全栈程序员站长
2022/08/02
7330
LayoutParams的详解
RelativeLayout.LayoutParams学习与运用
其实LayoutParams就是代表一个布局属性,每一个ViewGroup对应一种LayoutParams。LinearLayout对应LinearLayout.LayoutParams,RelativeLayout对应RelativeLayout.LayoutParams。我们在XML中写的大多数属性,在代码中通过LayoutParams同样可以操作界面布局。下面以RelativeLayout.LayoutParams为例: (1)RelativeLayout.LayoutParams.setMargins(left, top, right, bottom) 通过此方法可以动态设置margin值; (2)addRule(int verb) 该方法表示所设置节点的属性不能与其他兄弟节点相关或者属性值为布尔值。 比如 addRule(RelativeLayout.CENTER_VERTICAL)就表示在RelativeLayout中的相应节点是垂直居中的。 (3)addRule(int verb,int anchor)该方法表示所设置节点的属性必须关联其他兄弟节点或者属性值为布尔值。 比如addRule(RelativeLayout.ALIGN_LEFT,R.id.date)就表示RelativeLayout中的相应节点放置在一个id值为date的兄弟节点的左边。
全栈程序员站长
2022/09/13
3500
RelativeLayout.LayoutParams学习与运用
音视频直播技术--视频画中画
大家好,今天我为大家介绍一下如何在Android系统下实现实时直播互动中的多视频展示功能。 我们现在都清楚实时直播互动中多路视频的展示是目前比较流行的趋势,因为大家都想看到更多视频画面的需求,是非常符合人类的习惯的。
音视频_李超
2020/04/02
2K0
Android屏幕适配框架(一)
核心思路:利用ui设计稿的尺寸和手机自身尺寸得出缩放比,再将控件宽高处理后设置到控件上。性能方面会多渲染一次控件 ui设计稿高和宽这边假设是1920*1080,具体根据实际设计稿来设置 //ui图上的宽高 private static final int BASE_WIDTH = 1080; private static final int BASE_HEIGHT = 1920; // ui给的图不包含状态栏,后面要减去状态栏的高度 定义一些变量 //设备的真实宽高 private static int d
aruba
2020/07/03
8340
高仿网易严选底部弹出菜单
在网易严选的看东西的时候在商品详情页里看到他的底部弹出菜单,本能反应是想用DottomSheetDialog或者PopupWindow来实现,可是发现实现不了他那种效果,于是就自己模仿一个像严选这样的底部弹出菜单。
HelloJack
2018/08/28
9190
高仿网易严选底部弹出菜单
实战-自定义ViewGroup-流动布局(FlowLayout)
同样地,如果要使用自定义的属性,那么就需要创建自己的名字空间,在Android Studio中,第三方的控件都使用如下代码来引入名字空间。 xmlns:custom="http://schemas.android.com/apk/res-auto"
acc8226
2022/05/17
4400
【Android从零单排系列三十】《Android布局介绍——RelativeLayout》
小伙伴们,在上文中我们介绍了Android常见布局中的LinearLayout,本文我们继续盘点介绍Android开发中另一个常见的布局,相对布局RelativeLayout。
再见孙悟空_
2023/07/17
7150
Android LayoutParams详解「建议收藏」
在平时的开发过程中,我们一般是通过XML文件去定义布局,所以对于LayoutParams的使用可能相对较少。但是在需要动态改变View的布局参数(比如宽度、位置)时,就必须要借助这个重要的类了。本文将结合具体源码详细讲解LayoutParams的相关知识。
全栈程序员站长
2022/11/08
2.4K0
解析6种常用View 的滑动方法
View 的滑动是Android 实现自定义控件的基础,同时在开发中我们也难免会遇到View 的滑动处理。其实不管是哪种滑动方式,其基本思想都是类似的:当点击事件传到View 时,系统记下触摸点的坐标,手指移动时系统记下移动后触摸的坐标并算出偏移量,并通过偏移量来修改View 的坐标。实现View 滑动有很多种方法,在这里主要讲解6 种滑动方法,分别是layout()、offsetLeftAndRight()与offsetTopAndBottom()、LayoutParams、动画、scollTo 与scollBy,以及Scroller。
博文视点Broadview
2020/06/11
1.2K0
解析6种常用View 的滑动方法
简单的场景分析LinearLayout 源码
一个 LinearLayout 垂直方向上包含两个 TextView 和一个 RelativeLayout
木子杂志
2020/08/29
6430
简单的场景分析LinearLayout 源码
RecyclerView0基于使用
(转载请注明出处:http://www.kennethyo.me/post/android/recyclerviewchu-ji-shi-yong)
全栈程序员站长
2022/01/11
2220
RecyclerView0基于使用
相关推荐
layoutparams方法_layoutstretch
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验