RelativeLayout 常用属性

本文详细介绍了RelativeLayout布局中的子控件位置设置方法,包括如何通过特定属性实现内外部对齐、与父控件的关系调整以及Margin相关属性的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 子控件的位置

  • 在 系统的attrs.xml 中的定义如下
<!-- 1. RelativeLayout  -->
<declare-styleable name="RelativeLayout">
    <attr name="gravity" />
    <!-- Indicates what view should not be affected by gravity. -->
    <attr name="ignoreGravity" format="reference" />
</declare-styleable>

使用 gravity 属性可以设置控件中的子控件的排放位置.比如 : top, bottom, left, right 等

2. RelativeLayout特有的属性

  • 外部对齐

<!-- 设置当前View的右边和参考View的左边对齐 -->
<attr name="layout_toLeftOf" format="reference" />
<attr name="layout_toStartOf" format="reference" />
<!-- 设置当前View的左边和参考View的右边对齐 -->
<attr name="layout_toRightOf" format="reference" />
<attr name="layout_toEndOf" format="reference" />
<!-- 设置当前View的上边和参考View的下边对齐 -->
<attr name="layout_above" format="reference" />
<!-- 设置当前View的上边和参考View的下边对齐 -->
<attr name="layout_below" format="reference" />
<!-- 设置当前View的基线和参考View的基线对齐 -->
<attr name="layout_alignBaseline" format="reference" />
  • 内部对齐

<!-- 设置当前View的左边和参考View的左边对齐 -->
<attr name="layout_alignLeft" format="reference" />
<attr name="layout_alignStart" format="reference" />
<!-- 设置当前View的上边和参考View的上边对齐 -->
<attr name="layout_alignTop" format="reference" />
<!-- 设置当前View的右边和参考View的右边对齐 -->
<attr name="layout_alignRight" format="reference" />
<attr name="layout_alignEnd" format="reference" />
<!-- 设置当前View的底部边和参考View的底部边对齐 -->
<attr name="layout_alignBottom" format="reference" />
  • 和父控件的关系

<!-- 和父控件左边对齐 -->
<attr name="layout_alignParentLeft" format="boolean" />
<attr name="layout_alignParentStart" format="boolean" />
<!-- 和父控件上边对齐 -->
<attr name="layout_alignParentTop" format="boolean" />
<!-- 和父控件右边对齐 -->
<attr name="layout_alignParentRight" format="boolean" />
<attr name="layout_alignParentEnd" format="boolean" />
<!-- 和父控件下边对齐 -->
<attr name="layout_alignParentBottom" format="boolean" />
<!-- 在父控件完全居中 -->
<attr name="layout_centerInParent" format="boolean" />
<!-- 在父控件中水平居中 -->
<attr name="layout_centerHorizontal" format="boolean" />
<!-- 在父控件中垂直居中 -->
<attr name="layout_centerVertical" format="boolean" />
<!--  layout_toLeftOf, layout_toRightOf, 没有了就以父控件为参考 -->
<attr name="layout_alignWithParentIfMissing" format="boolean" />
  • Margin相关
<declare-styleable name="ViewGroup_MarginLayout">
    <attr name="layout_width" />
    <attr name="layout_height" />
    <!--  四个方向的间距 -->
    <attr name="layout_margin" format="dimension"  />
    <!--  左侧间距 -->
    <attr name="layout_marginLeft" format="dimension"  />
    <attr name="layout_marginStart" format="dimension"  />
    <!--  上册间距 -->
    <attr name="layout_marginTop" format="dimension" />
    <!--  右侧间距 -->
    <attr name="layout_marginRight" format="dimension"  />
    <attr name="layout_marginEnd" format="dimension"  />
    <!--  下册间距 -->
    <attr name="layout_marginBottom" format="dimension"  />
</declare-styleable>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值