Android中动态改变布局中控件的位置
一、通过ViewGroup.LayoutParams()
以控件在RelativeLayout
中为例,其他布局中也是一样的,可以通过修改控件的magin
属性来改变控件的位置。
// 需要注意的是,此时构造参数中的两个属性为控件的宽和高(px),而不是父布局的宽和高。
RelativeLayout.LayoutParams layoutparams = new RelativeLayout.LayoutParams(100,100);
layoutparams.setMargin(left,top,right,bottom);//直接设置四个方向的magin
//layoutparams.addRule(RelativeLayout.CENTER_VERTICAL)//添加控件在布局中显示的规则。
layoutparams.setLeftMargin(left);
layoutparams.setTopMargin(top);
layoutparams.setRightMargin(right);
layoutparams.setBottomMargin(bottom);
mButton.setLayoutParams(layoutparams);//mButton为你想要修改的控件
二、通过属性动画
移动 translationX
、translationY
float translationX
:表示在X
轴上的平移距离,以当前控件为原点,向右为正方向,参数translationX
表示移动的距离。float translationY
:表示在 Y 轴上的平移距离,以当前控件为原点,向下为正方向,参数translationY
表示移动的距离。
ObjectAnimator animator = ObjectAnimator.ofFloat(tv, "translationX", 0, 200, -200,0);
animator.setDuration(2000);
animator.start();
指定的移动距离是(0, 200, -200,0),所以控件会从自身所有位置向右移动 200 像素,然后再移动到距离原点-200 的位置,最后回到原点//参数一:要操纵的view;
//参数二:要操纵的属性(translationX、translationY、rotationX、rotationY、rotation、scaleX、scaleY, alpha)
//参数三:可变数组参数,代表属性变化的一个取值过程。
ObjectAnimator translationX = ObjectAnimator.ofFloat(mTestView, “translationX”, 300);
Android中动态改变布局中控件的位置相关推荐
- Android中动态初始化布局参数以及ConstraintLayout使用中遇到的坑
Android中动态初始化布局以及ConstraintLayout遇到的一个坑 ConstraintLayout是Android中的一个很强大的布局,它通过控件之间的相对定位,来完成一个layout中 ...
- android动态改变布局,Android 动态添加布局的两种方式
前言 大多数时候我们布局都是用xml来布局的,但有些时候也是会用到动态布局的,尤其是在一些大项目中,动态布局更是体现的淋漓尽致. 所以今天我们就来学习一些动态加添布局的两种方式,分别是 动态添加xml ...
- 在form2中调用form1中的方法并改变form1中控件值的另一种方法
在窗体编程中,经常碰到到要在form2中调用form1中的方法并改变form1中控件值,但是又不能用new form1这种方法,因为这是生成一个实例. 网上有些说法是用委托和事件,笔者尝试没有成功,可 ...
- Android 中LayoutInflater(布局加载器)之介绍篇
本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/78099358 前 ...
- Android中的约束布局
文章目录 1 Android中的约束布局 1.1 约束布局的重要属性 1.2 约束布局示例 1 Android中的约束布局 1.1 约束布局的重要属性 重要属性: app:layout_constra ...
- Android中的表格布局
文章目录 1 Android中的表格布局 1 Android中的表格布局 重要属性: android:stretchColumns android:shrinkColumns android:coll ...
- Android中的相对布局
文章目录 1 Android中的相对布局 1.1 相对布局的重要属性 1.2 相对布局示例 1 Android中的相对布局 1.1 相对布局的重要属性 相对于父容器(取值:true/false),如: ...
- asp.net panel 加html,ASP.NET 页面中动态增加的控件、添加事件
要求:页面上有一个Add按钮,每点击一次该按钮,页面上动态创建一个WebPartZone! 提醒:WebPartZone只能在OnInit或之前才能创建,否则报异常! 大家都知道,按钮的点击事件是在R ...
- Android中的网格布局
文章目录 1 Android中的网格布局 1 Android中的网格布局 重要属性: android:rowCount(行数量) android:columnCount (列数量) android:l ...
最新文章
- optee的RPC设计(模型)详解
- ast.literal_eval
- C++实现有序表折半查找
- ChaiNext:多空胶着
- Mongoose源码分析之--简单的服务器搭建(C语言)
- 闪修侠、极客修、千机网,手机维修选哪家?
- android go官方下载,dji go 4 app官网下载-DJI GO 4 安卓版v4.3.40-pc6智能硬件网
- xlsx文件打开乱码_xlsx文件怎么打开乱码
- Java的OOP编程思想
- 中国首座!智慧机场建成投运,BIM技术打造数字底图
- 43张图还原煤厂各工段的全工艺流程,构建数字孪生体
- steam加速_《盗贼之海》发行之初荣登Steam榜首,UU加速器为您开黑提供保障
- BI项目经理入门指南:用最详细的图解,带你落地企业自助分析项目
- 科来网络分析系统11.1(技术交流免费版)
- 遥感原理与应用 【I】
- 多旅行商问题(Multiple Traveling Salesman Problem, MTSP):单仓库多旅行商问题及多仓库多旅行商问题(含动态视频)
- 洛谷P5708 【深基2.习2】三角形面积__C++描述
- 复制 python cache 文件到预训练模型
- Spring Cloud ZooKeeper Discovery Client Not Register on ZooKeeper when using SpringBootServletInitia
- 计算机无法投影,如果无法连接计算机和投影仪怎么办