[size=x-large]RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp2.addRule(RelativeLayout.[color=red]POSITION_BELOW[/color], ID_BTN1);[/size]
为什么我自己写怎么没有RelativeLayout.POSITION_BELOW,只有RelativeLayout.BELOW,这两种设置的效果不一样,一种是并排在下面,一种的重叠的下面?请教高手!
我刚测试了一下,用below是可以实现的,只是你忽略了一个东西,注意一下这个ID_BTN1的值,你会发现,它的值是-1,是因为你并没有给你这个view setId()
RelativeLayout rl=new RelativeLayout(this);
rl.setBackgroundColor(Color.BLUE);
Button btn1=new Button(this);
btn1.setText("btn1");
System.out.println(btn1.getId());
btn1.setId(123);
Button btn2=new Button(this);
btn2.setText("btn2");
rl.addView(btn1);
rl.addView(btn2);
RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
btn1.setLayoutParams(lp);
lp=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.BELOW, btn1.getId());
btn2.setLayoutParams(lp);
setContentView(rl);
老兄,你在哪里看到RelativeLayout 有POSITION_BELOW这个属性的?根本就没有这个属性,哪你又是在哪里看到效果的?
[table]
|[flash=200,200][url][img][list]|
|[*][code="java"][quote][/quote][/code]|
|[/list][/img][/url][/flash]|
[/table] :wink: :cry: :oops: :oops: :? :) :) :) :) :) :) :) :) :) :? :? :? :? :P :x :evil: