android RelativeLayout 动态添加子View
在很多时候xml里面的布局并不能满足我们的需求。这时候就需要用代码进行动态布局,前些天在对RelativeLayout 进行动态布局时遇到了些问题,现在解决了,分享下。
我现在在RelativeLayout 里面 动态创建4个View,是两行两列的效果。
1.添加第一个View。
RelativeLayout layout = (RelativeLayout)findViewById(R.layout.rl);
ImageView item1 = new ImageView(this);
item1.setImageResource(R.drawable.x);//设置图片
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);//与父容器的左侧对齐
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);//与父容器的上侧对齐
lp.leftMargin=30;
lp.topMargin=30;
item1.setId(1);//设置这个View 的id
item1.setLayoutParams(lp);//设置布局参数
layout.addView(item1);//RelativeLayout添加子View
2.添加第二个View。
ImageView item2 = new ImageView(this);
item2.setImageResource(R.drawable.x);//设置图片
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lp.rightMargin=30;
lp.topMargin=30;
item2.setId(2);
item2.setLayoutParams(lp);
layout.addView(item2);
3.添加第三个View。
View childView1 = skinsLayout.getChildAt(0);刚加进去RelativeLayout的第一个子View
View item3 =createSkinItem(friendContext);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
lp.addRule(RelativeLayout.BELOW, childView1.getId());//设置item3在 //chlidView1的下面
lp.leftMargin=30;
lp.topMargin=30;
item3.setId(3);
item3.setLayoutParams(lp);
layout.addView(item3);
3.添加第四个View。
View childView2 = skinsLayout.getChildAt(1);//获取容器的第二个子view
ImageView item4 = new ImageView(this);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
lp.addRule(RelativeLayout.BELOW, childView2.getId());
lp.rightMargin=30;
lp.topMargin=30;
item.setId(4);
item.setLayoutParams(lp);
layout.addView(item);
转载于:https://blog.51cto.com/lovesong/1183335
android RelativeLayout 动态添加子View相关推荐
- android relativelayout动态添加视图,android RelativeLayout 动态添加子View
在很多时候xml里面的布局并不能满足我们的需求.这时候就需要用代码进行动态布局,前些天在对RelativeLayout 进行动态布局时遇到了些问题,现在解决了,分享下. 我现在在RelativeLay ...
- android 添加子view,Android基于Window.ID_ANDROID_CONTENT给定id添加子View
Android基于Window.ID_ANDROID_CONTENT给定id添加子View 这一技术特点在一些视频播放器中比较有用. 例如代码: package zhangphil.demo; imp ...
- android radiogroup 添加,如何在android中动态添加textview到radiogroup
大家好, 我们想动态地在radiogroup旁边添加textview.基于服务响应,我们需要在不使用xml的情况下将标签添加到radiogroup. 在某些情况下基于最长无线电如何在android中动 ...
- Android ViewDragHelper:控制子View能否拖曳及水平方向的拖曳边界(2)
Android ViewDragHelper:控制子View能否拖曳及水平方向的拖曳边界(2) 附录文章1简单介绍了Android ViewDragHelper的使用,注意到附录文章1的代码运行 ...
- android 在指定位置添加布局,Android 如何动态添加 View 并显示在指定位置。
引子 最近,在做产品的需求的时候,遇到 PM 要求在某个按钮上添加一个新手引导动画,引导用户去点击.作为 RD,我哗啦啦的就写好相关逻辑了.自测完成后,提测,PM Review 效果. 看完后,PM ...
- android动态添加控件在指定位置,Android 如何动态添加 View 并显示在指定位置。
引子 最近,在做产品的需求的时候,遇到 PM 要求在某个按钮上添加一个新手引导动画,引导用户去点击.作为 RD,我哗啦啦的就写好相关逻辑了.自测完成后,提测,PM Review 效果. 看完后,PM ...
- android 动态添加删除控件,求教Android,动态添加到控件能动态删除吗?
protected View createView() {//动态添加组件 Button btn = new Button(this);//动态创建按钮 btn.setId(index++); btn ...
- android ,动态布局 butterknife,与Butterknife绑定在android中动态添加视图
如何绑定布局中存在的视图,该视图使用ButterKnife动态添加到父视图中. 我有一个LinearLayout说容器.我有一个自定义布局,其中包含两个按钮,将此布局称为子视图 在活动中,我将chil ...
- android listview动态添加viewpager,向 ViewPager 中添加 包含 ListView 的 Fragment
对与fragment就不说什么了,直接看API手册吧,亲. 向 ViewPager 中添加 包含 ListView 的 Fragment 的过程比较麻烦.他所表现的效果就是新闻客户端的滑动翻页效果. ...
- android动态添加xml布局,android – 如何动态添加视图已经在xml布局中声明的RelativeLayout?...
为第二个添加的Button LayoutParams添加规则RelativeLayout.RIGHT_OF: // first Button RelativeLayout rLayout = (Rel ...
最新文章
- Kafka0.10.2.0分布式集群安装
- 秒懂Mycat和MySQL的区别【转自百度知道】
- Linux学习之系统编程篇:创建匿名映射区(只适用于有血缘关系)
- 20170825 - Q - 集合框架 、 集合操作 —— 线性表
- 公司邮箱发邮件的util类
- 小米5G手机为什么如此便宜?卢伟冰解释定价原因
- XMLHttpRequest.overrideMimeType()
- Java工程师必学知识点【吊打面试官系列】
- c++注释快捷键_是不是晚了点:Visual Studio可以自动生成注释啦!
- arguments的类型是Array吗?
- 全国夜间灯光指数数据、GDP密度分布、人口密度分布、土地利用数据、降雨量数据
- 考勤系统怎样登录服务器,ZKADMS考勤管理系统数据库连接步骤
- JS技能点--日期时间格式化
- python海龟画图函数汇总
- 解决:文件名太长删不掉
- 矩阵、方程自由度的理解
- FastAPI 教程翻译 - 用户指南 26 - 安全性
- Xcode自动编译、打包、上传到蒲公英应用分发平台
- 多股电线与单股电线怎么选
- consul java_集成Consul负载均衡多实例注册_java_天雨流芳-CSDN博客
热门文章
- 台服海岛纪元显示无法连接服务器,打开海岛纪元提示网络异常或者连接不上
- wpf 导航按钮去掉_高德地图推出个性导航,你的私人订制导航是什么样的?
- spring cloud构建互联网分布式微服务云平台-服务提供与调用
- js字符串编码和unicode编码互转
- Python如何运行单个.py文件而不是unittest
- 关于Adaper的相关用法
- 从用户洞察到数据应用 诸葛io让“增长”深入场景
- Android MVP模式 谷歌官方代码解读
- C#中的线程lt;一gt;
- java.text.ParseException: Unparseable date: