android动态添加控件,怎样指定位置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android动态添加控件,怎样指定位置?相关的知识,希望对你有一定的参考价值。

RelativeLayout insertLayout = (RelativeLayout)view1.findViewById(R.id.screen);//screen是一个RelativeLayout 布局的id
ImageView imgApple2 = new ImageView(MainActivity.this);
imgApple2.setBackgroundColor(Color.parseColor("#ffb6b4"));
insertLayout.addView(imgApple2,100,100);
我的添加代码?怎样设置ImageView 位置呢?

参考技术A 首先你得定义一个 LayoutParams:
RelativeLayout.LayoutParams s = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
s.addRule(RelativeLayout.CENTER_IN_PARENT, -1);
//添加位置信息 -1表示相对于父控件的位置 ,如果要相对某个平级控件则参数是该控件的ID

s.setMargins(10, 10, 10, 10);//设置左,上,右,下,的距离

上面的定义好了之后可以用了:

imgApple2.setLayoutParams(s);
insertLayout.addView(imgApple2,100,100);
参考技术B 相对布局是不能指定具体位置,只有绝对布局才许。追问

应该可以指定相对位置吧

参考技术C insertLayout.addview(你自己view,LayoutPamss);
addview 有5种重载方法 你可以自己去看看具体怎么用。
参考技术D 用LayoutParams:

RelativeLayout insertLayout = (RelativeLayout)view1.findViewById(R.id.screen);//screen是一个RelativeLayout 布局的id

ImageView imgApple2 = new ImageView(MainActivity.this);
imgApple2.setBackgroundColor(Color.parseColor("#ffb6b4"));

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(100, 100);
layoutParams.topMargin=8;
layoutParams.leftMargin=8;
layoutParams.rightMargin=8;
layoutParams.bottomMargin=8;

insertLayout.addView(imgApple2,layoutParams);本回答被提问者采纳

以上是关于android动态添加控件,怎样指定位置?的主要内容,如果未能解决你的问题,请参考以下文章

怎样向android的Gallery里动态添加图片?

C# WinForm 如何动态添加控件和设计控件布局

用ASP.NET怎样动态给dropdownlist控件赋值

android view怎么设置位置

android动态添加ImageButton的去边框办法

Android 怎么将fragment 动态地添加到布局中的任意位置?