【发布时间】:2020-05-06 13:37:11
【问题描述】:
我有两个嵌套的 LinearLayouts - 一个水平列表的垂直列表(我试图制作一个调色板选择器)。
val params = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT
).apply {
val borderWidth = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50f, resources.displayMetrics).toInt()
setPadding(borderWidth, borderWidth, borderWidth, borderWidth)
setMargins(0, 0, 0, 10)
}
LinearLayoutRow.layoutParams = params
// add to to tree
this.addView(LinearLayoutRow)
但是现在发生的情况是,Padding 应用于 Parent LinearLayout,而 margin 应用于 LinearLayoutRow。正如您在图像中看到的,行之间有一点空间,但巨大的 50dp 填充应用于父容器。
我不明白这种行为。 this 顺便说一下扩展类class ColorPalettePicker(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs) {}
【问题讨论】:
标签: android android-linearlayout android-layoutparams