
上QQ阅读APP看书,第一时间看更新
3.4 RelativeLayout:相对布局管理器
相对布局管理器内的控件布局总是相对于父容器或兄弟组件的位置,相对布局是实际中应用最多、最灵活的布局管理器。
3.4.1 RelativeLayout实例及属性详解
RelativeLayout布局文件实例:


图3-7 相对布局效果图
在这个程序中使用相对布局,包括一个TextView控件、EditText控件和两个button控件。对于EditText控件和button控件,读者现在可能还不是很熟悉,暂时只需要这样使用即可,之后会有详细的讲解。使用了相对布局之后,内部控件会按照与其他控件的相对位置来布局。程序运行效果如图3-7所示。
从上述RelativeLayout布局文件实例中可以清晰地看出,RelativeLayout内部的子元素是相对其他子元素来布局的。在上述例子中我们展示了一部分RelativeLayout的属性,下面再具体介绍下RelativeLayout其他的一些重要属性(见表3-2)。
表3-2 Relativelayout重要属性

3.4.2 使用代码控制相对布局管理器
与线性布局一样,相对布局也可以通过Android.widget.RelativeLayout类来动态控制,所有参数都可以通过Android.widget.RelativeLayout.RelativeLayout.LayoutParams类来控制。由于相对布局必须以组件作为布局参考,因此相对布局管理器的代码控制是在上面的程序基础上做改动来进行的。代码实例如下:


图3-8 代码控制的相对布局效果图
这个程序通过Java代码直接控制相对布局管理器及其子元素,成功地在id为txtSMS的EditText控件下面加入了一个TextView控件。程序实现的效果如图3-8所示。