Android开发——RelativeLayout.LayoutParams的使用

前言

在日常的Android开发当中,我们少不了需要动态改变控件在RelativeLayout界面的位置。那么我们就需要使用到RelativeLayout.LayoutParams。

RelativeLayout.LayoutParams

RelativeLayout.LayoutParams是一个RelativeLayout的布局参数,我们改变控件的就需要使用到。

初始化

// 包裹内容
RelativeLayout.LayoutParams layoutParams = new  RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);

// 全部内容
RelativeLayout.LayoutParams layoutParams = new  RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);

其中 new RelativeLayout.LayoutParams()需要填写宽度和高度两个参数。

addRule方法

addRule方法是我们最常用到的,动态设置控件的位置是一定要使用这个方法的。这个方法有两种方式

addRule(int verb)

verb主要的参数有:

  • ABOVE
  • ALIGN_BASELINE
  • ALIGN_BOTTOM
  • ALIGN_END
  • ALIGN_LEFT
  • ALIGN_PARENT_BOTTOM
  • ALIGN_PARENT_END
  • ALIGN_PARENT_LEFT
  • ALIGN_PARENT_RIGHT
  • ALIGN_PARENT_START
  • ALIGN_PARENT_TOP
  • ALIGN_RIGHT
  • ALIGN_START
  • ALIGN_TOP
  • BELOW
  • CENTER_HORIZONTAL
  • CENTER_IN_PARENT
  • CENTER_VERTICAL
  • END_OF
  • LEFT_OF
  • RIGHT_OF
  • START_OF
  • TRUE

addRule(int verb, int subject)

verb主要的参数有:

  • ABOVE
  • ALIGN_BASELINE
  • ALIGN_BOTTOM
  • ALIGN_END
  • ALIGN_LEFT
  • ALIGN_PARENT_BOTTOM
  • ALIGN_PARENT_END
  • ALIGN_PARENT_LEFT
  • ALIGN_PARENT_RIGHT
  • ALIGN_PARENT_START
  • ALIGN_PARENT_TOP
  • ALIGN_RIGHT
  • ALIGN_START
  • ALIGN_TOP
  • BELOW
  • CENTER_HORIZONTAL
  • CENTER_IN_PARENT
  • CENTER_VERTICAL
  • END_OF
  • LEFT_OF
  • RIGHT_OF
  • START_OF
  • TRUE

subject参数是我们另外的控件ID。

setMargins(int left, int top, int right, int bottom)

当前控件设置边距,参数分别是左边,上边,右边,下边。单位是px。

setMarginStart(int start)

当前控件设置开始边距,国内默认是左边的边距,单位是px。

setMarginEnd(int end)

当前控件设置结束边距,国内默认是右边的边距,单位是px。

总结

上述的内容是我阅读RelativeLayout.LayoutParams的源码结合实际开发经常用到的方法笔记。希望对看到这篇博客的小伙伴们有帮助。

你可能感兴趣的:(Android,#,Android开发)