Android开发代码中设置Margin
直接上代码,不过是kotlin代码
inline fun <reified T : ViewGroup.LayoutParams> View.updateLayoutParams(block: T.() -> Unit) {
val params = layoutParams as T
block(params)
layoutParams = params
}
fun View.updateMargin(left: Int? = null, top: Int? = null, right: Int? = null, bottom: Int? = null) {
(layoutParams as? ViewGroup.MarginLayoutParams)?.let { param ->
updateLayoutParams<ViewGroup.MarginLayoutParams> {
left?.let {
marginStart = left
}
right?.let {
marginEnd = right
}
top?.let {
topMargin = top
}
bottom?.let {
bottomMargin = bottom
}
}
}
}
就算外层是约束布局ConstraintLayout也是可以直接使用的,可以偏移的