• android 使用代码实现 RelativeLayout布局


    参照以下博客和代码:

    1 http://blog.csdn.net/gf771115/article/details/8237229

    2 http://blog.csdn.net/love_world_/article/details/8426935

    RelativeLayout rl = new RelativeLayout(this);

    Button btn1 = new Button(this);
    btn1.setText("----------------------");
    btn1.setId(1);

    RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    lp1.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    lp1.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
    // btn1 位于父 View 的顶部,在父 View 中水平居中
    rl.addView(btn1, lp1 );

    Button btn2 = new Button(this);
    btn2.setText("|\n|\n|\n|\n|\n|");
    btn2.setId(2);

    RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    lp2.addRule(RelativeLayout.BELOW, 1);
    lp2.addRule(RelativeLayout.ALIGN_LEFT, 1);
    // btn2 位于 btn1 的下方、其左边和 btn1 的左边对齐
    rl.addView(btn2, lp2);

    Button btn3 = new Button(this);
    btn3.setText("|\n|\n|\n|\n|\n|");
    btn3.setId(3);

    RelativeLayout.LayoutParams lp3 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    lp3.addRule(RelativeLayout.BELOW, 1);
    lp3.addRule(RelativeLayout.RIGHT_OF, 2);
    lp3.addRule(RelativeLayout.ALIGN_RIGHT, 1);
    // btn3 位于 btn1 的下方、btn2 的右方且其右边和 btn1 的右边对齐(要扩充)
    rl.addView(btn3,lp3);

    Button btn4 = new Button(this);
    btn4.setText("--------------------------------------------");
    btn4.setId(4);

    RelativeLayout.LayoutParams lp4 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    lp4.addRule(RelativeLayout.BELOW, 2);
    lp4.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
    // btn4 位于 btn2 的下方,在父 Veiw 中水平居中
    rl.addView(btn4,lp4);


    setContentView(rl);

  • 相关阅读:
    (转)Unity3D研究院之IOS&Android收集Log文件
    (转)C#中的委托(Delegate)和事件(Event)
    c# event Action 判断事件列表中是否存在这个委托
    电子商务 B2C 结构图【转载+整理】
    几个随机算法【转载+整理】
    Windows 2008 R2 配置 DNS 实现二级域名
    Perl、PHP、Python、Java 和 Ruby 比较【转载+整理】
    .NET 托管、非托管、本地:这些代码有什么区别?
    AWR
    HTTP 响应实体主体:XML 及 XML parser
  • 原文地址:https://www.cnblogs.com/bavariama/p/2969171.html
Copyright © 2020-2023  润新知