Woodn
Woodn
2011-04-02 15:35

RelativeLayout代码中设置属性

已采纳

[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,这两种设置的效果不一样,一种是并排在下面,一种的重叠的下面?请教高手!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • n_Gary 三岁的宁静 10年前

    我刚测试了一下,用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);
    
    点赞 评论 复制链接分享
  • n_Gary 三岁的宁静 10年前

    老兄,你在哪里看到RelativeLayout 有POSITION_BELOW这个属性的?根本就没有这个属性,哪你又是在哪里看到效果的?

    点赞 评论 复制链接分享
  • xingshucn xingshucn 5年前

    [table]
    |[flash=200,200][url][img][list]|
    |[*][code="java"][quote][/quote][/code]|
    |[/list][/img][/url][/flash]|
    [/table] :wink: :cry: :oops: :oops: :? :) :) :) :) :) :) :) :) :) :? :? :? :? :P :x :evil:

    点赞 评论 复制链接分享

相关推荐