android开发 如何在相对布局中动态添加控件
ImageViewlx=newImageView(this);lx.setBackgroundResource(R.drawable.lx01);layout.addVi...
ImageView lx=new ImageView(this);
lx.setBackgroundResource(R.drawable.lx01);
layout.addView(lx);
上面的代码可以添加控件,却一直显示在左上角,我想自己定位,lx.setPadding(100, 100, 100, 100)以后还是在左上角,请问谁知道要怎么做?
相对布局RelativeLayout,网上有看见说setMargin方法,不过我没找到该方法.....以setM开头的只有setMaxWidth,setMaxHeight,setMinimumHeight,setMinimumWidth这四个,实在找不到方法...... 展开
lx.setBackgroundResource(R.drawable.lx01);
layout.addView(lx);
上面的代码可以添加控件,却一直显示在左上角,我想自己定位,lx.setPadding(100, 100, 100, 100)以后还是在左上角,请问谁知道要怎么做?
相对布局RelativeLayout,网上有看见说setMargin方法,不过我没找到该方法.....以setM开头的只有setMaxWidth,setMaxHeight,setMinimumHeight,setMinimumWidth这四个,实在找不到方法...... 展开
5个回答
展开全部
首先setMargin方法不是RelativeLayout的方法,而是RelativeLayout.LayoutParams的方法。
你应该这麼用:
RelativeLayout layout = new RelativeLayout(this);
layout.setLayoutParams(new RelativeLayout.LayoutParams(-1, -1));
TextView mView = new TextView(this);
mView.setId(2);
mView.setText("this is a test text!");
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
-2, -2);
// layoutParams.setMargins(100, 100, 100, 100);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, -1);
layout.addView(mView, layoutParams);
上例是将一个TextView添加到RelativeLayout的底部。你可以把注释行取消掉,把下一行注释,再看下效果。
你应该这麼用:
RelativeLayout layout = new RelativeLayout(this);
layout.setLayoutParams(new RelativeLayout.LayoutParams(-1, -1));
TextView mView = new TextView(this);
mView.setId(2);
mView.setText("this is a test text!");
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
-2, -2);
// layoutParams.setMargins(100, 100, 100, 100);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, -1);
layout.addView(mView, layoutParams);
上例是将一个TextView添加到RelativeLayout的底部。你可以把注释行取消掉,把下一行注释,再看下效果。
展开全部
你的layout是什么类型?使用AbsoluteLayout后可以自由定位 而且你的setPadding是说它的子控件的边缘有100的空间,如果想要对父控件有间隔要用有margin的那个函数 具体名称记不得了 你自己看一下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TextView tv = new TextView(context);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
this.addView(tv, params);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
this.addView(tv, params);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<include layout="@layout/xxx" />
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<include layout="@layout/xxx" />
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询