android 使用代码实现 RelativeLayout布局

只需把代码copy进入oncreate方法即可运行

Java代码  

  1. RelativeLayout rl = new RelativeLayout(this);
  2. Button btn1 = new Button(this);
  3. btn1.setText("----------------------");
  4. btn1.setId(1);
  5. RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  6. lp1.addRule(RelativeLayout.ALIGN_PARENT_TOP);
  7. lp1.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
  8. // btn1 位于父 View 的顶部,在父 View 中水平居中
  9. rl.addView(btn1, lp1 );
  10. Button btn2 = new Button(this);
  11. btn2.setText("|\n|\n|\n|\n|\n|");
  12. btn2.setId(2);
  13. RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  14. lp2.addRule(RelativeLayout.BELOW, 1);
  15. lp2.addRule(RelativeLayout.ALIGN_LEFT, 1);
  16. // btn2 位于 btn1 的下方、其左边和 btn1 的左边对齐
  17. rl.addView(btn2, lp2);
  18. Button btn3 = new Button(this);
  19. btn3.setText("|\n|\n|\n|\n|\n|");
  20. btn3.setId(3);
  21. RelativeLayout.LayoutParams lp3 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  22. lp3.addRule(RelativeLayout.BELOW, 1);
  23. lp3.addRule(RelativeLayout.RIGHT_OF, 2);
  24. lp3.addRule(RelativeLayout.ALIGN_RIGHT, 1);
  25. // btn3 位于 btn1 的下方、btn2 的右方且其右边和 btn1 的右边对齐(要扩充)
  26. rl.addView(btn3,lp3);
  27. Button btn4 = new Button(this);
  28. btn4.setText("--------------------------------------------");
  29. btn4.setId(4);
  30. RelativeLayout.LayoutParams lp4 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  31. lp4.addRule(RelativeLayout.BELOW, 2);
  32. lp4.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
  33. // btn4 位于 btn2 的下方,在父 Veiw 中水平居中
  34. rl.addView(btn4,lp4);
  35. setContentView(rl);

代码参考自:

http://hi.baidu.com/xiechengfa/blog/item/5a3570eb3afb1a31b90e2d54.html, 有改动

时间: 2024-12-18 00:59:49

android 使用代码实现 RelativeLayout布局的相关文章

android 在代码中设置布局居中layout_gravity,layout_margin的方法

在代码中设置布局居中,翻看api可以知道view中有setGravity,setPadding,但是没有直接的setLayoutGravity,setMargin等方法.下面将在代码中实现类似布局中layout_gravity,layout_margin的方法. 可以通过设置view里面的 LayoutParams 设置,而这个LayoutParams是根据该view在不同的GroupView而不同的. 1.代码中设置layout_gravity LinearLayout layoutTop=(

android基础知识复习——RelativeLayout布局属性、背景、半透明设置(XML设置)

转自:http://blog.csdn.net/fansongy/article/details/6817968 复习布局与XML,写了一个空的登录界面.XML的注释我写在当行的后面了.程序运行图: 主函数没有改动,不贴了.背景图片名为:background.jpg .看看main.xml吧. [html] view plaincopyprint? <?xml version="1.0" encoding="utf-8"?> <LinearLayo

【Android】纯代码创建页面布局(含异步加载图片)

开发环境:macOS 10.12 + Android Studio 2.2,MinSDK Android 5.1 先看看总体效果 本示例是基于Fragment进行的,直接上代码: [界面结构] 在 Fragment 中,采用 ScrollView + LinearLayout 实现. 1 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http:/

Android - RelativeLayout布局

RelativeLayout布局 本文地址:http://blog.csdn.net/caroline_wendy RelativeLayout是一种相对布局方式,是根据属性进行对齐: A Layout where the positions of the children can be described in relation to each other or to the parent. 在布局中,子控件的位置根据相互之间的关系进行描述. Note that you cannot have

个人经验 - Android的RelativeLayout布局的layout_height属性设置为wrap_content时的坑

Android的RelativeLayout布局的layout_height属性设置为wrap_content时的坑: 此坑出现的条件: 1.RelativeLayout布局的layout_height属性设置为wrap_content 2.某“居中View”设置为layout_centerX(layout_centerVertical.layout_centerHorizontal.layout_centerInParent) 3.其它View相对于“居中View”做布局 此时坑出现了: 无论

Android基础_3 Activity相对布局

相对布局要比前面讲的线性布局和表格布局要灵活一些,所以平常用得也是比较多的.相对布局控件的位置是与其周围控件的位置相关的,从名字可以看出来,这些位置都是相对的,确定出了其中一个控件的位置就可以确定另一个控件的位置了. 本次实验就是显示如下的activity: 其中只有2个button,1个textview,1个edittext. 在相对布局中,一般用到的控件属性解释如下: 在相对布局中有如下属性,解释如下: android:layout_above  为将该控件的底部放在指定id控件的上方 an

android 用java动态设置布局(增添删除修改布局)

XML对开发者来说十分的方便,不仅使用起来简单,而且能够及时调试,修改界面之后马上能看到效果. Java设置布局不具有这个优势.但是java却可以动态对布局进行操作,这是xml所做不到的.笔者认为,新手索要掌握的java动态设置布局主要有两点,一方面是对布局的属性进行修改,另一方面是增添和删除控件. 首先说一下动态设置布局在项目中的应用,拿高德地图举个例子,如下图:    我们可以看到,高德地图的默认界面与点击地图之后的界面是不一样的,上面同样的控件在layout中的位置也不一样,这个用xml便

android菜鸟学习笔记6----android布局(一)

Android应用的UI组件都是继承自View类,View类表示的就是一个空白的矩形区域.常用的组件如TextView.Button.EditText等都直接或间接继承自View. 此外,View还有一个重要的子类ViewGroup,该类可以用来包含多个View组件,本身也可以当做一个View组件被其他的ViewGroup所包含,由此,可以构建出非常复杂的UI界面. 常用的布局管理器如FrameLayout.LinearLayout.RelativeLayout等都直接继承自ViewGroup.

[Android]继承式UI界面布局设计

一般而言,Android界面布局使用聚合的方式比较多,这种方式要求首先构建一批能够复用的组件,然后在Activity的布局文件中进行聚合.尽管这种方式能够完成组件的复用,但如果这些组件在不同Activity中的布局有很多相同点的时候,也还是会带来很大程度的冗余(代码).本文介绍一种比聚合更加有效的界面布局方式--继承式布局. 对于类的继承和对象的聚合之间有哪些相同点和不同点,分别适用于哪种场景,相信大家已经深有体会.在此就不多讲了.其实类比过来,Android的界面布局也是如此.假设我们需要实现