我以编程方式在相对布局中创建了2个按钮。我希望按钮之间没有余量空间,并试图通过使用'setmargin'来实现这一点,但失败了。下面是代码。
//creating the relative layout
RelativeLayout relativeLayout = new RelativeLayout(this);
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);
//creating buttons
Button button1 = new Button(this);
button1.setId(R.id.button1);
RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(
SCR_W/2,
RelativeLayout.LayoutParams.WRAP_CONTENT);//SCR_W is the device screenwidth
params1.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
params1.addRule(RelativeLayout.ALIGN_PARENT_TOP);
params1.setMargins(0, 0, 0, 0);
button1.setLayoutParams(params1);
relativeLayout.addView(button1);
Button button2 = new Button(this);
button2.setId(R.id.button2);
RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(
SCR_W/2,
RelativeLayout.LayoutParams.WRAP_CONTENT);
params2.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
params2.addRule(RelativeLayout.BELOW, button1.getId());
params2.setMargins(0, 0, 0, 0);
button2.setLayoutParams(params2);
relativeLayout.addView(button2);
//setting the relative layout as the contentview
setContentView(relativeLayout, rlp);
提前致谢..
答案 0 :(得分:2)
我尝试了你的代码,对我很好,
两个按钮位于距离0.要检查它,只需为每个按钮设置不同的颜色,您就会看到它们在一起。
button1.setBackgroundColor(Color.BLUE);
button2.setBackgroundColor(Color.RED);
答案 1 :(得分:0)
尝试将相对布局的高度设置为wrap_content
..
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
答案 2 :(得分:0)
尝试这样的事情,它会起作用 - :
params1.setMargins(0, 0, 0, -5);
params2.setMargins(0, -5, 0, 0);