【发布时间】:2021-12-27 10:05:55
【问题描述】:
在 Android Studio 的布局编辑器中使用设计模式时,我想控制自定义视图的初始大小和显示方式。
例如,下面的琐碎视图(从教程博客复制),当添加到 ConstraintLayout 时,默认为 wrap_content 的 layout_width 和 layout_height。它在预览中显示为填充父视图。这可能会导致难以操纵布局“blob”以实现所需的布局。
更糟糕的是,当我从调色板直接拖动到设计图面时,视图会出现 x 和 y 偏移,这会将底部和右侧的“斑点”完全移出设计图面。 detail from layout editor
如果我能够为自定义视图提供合理的默认值,这将非常有用,就像常规按钮视图一样。
class MyView(context: Context, attrs: AttributeSet) : View(context, attrs) {
private val myPaint = Paint().apply {
style = Paint.Style.STROKE
color = Color.RED
strokeWidth = 30f
}
override fun onDraw(canvas: Canvas) {
val left = paddingLeft.toFloat()
val top = paddingTop.toFloat()
val right = width.toFloat() - paddingRight
val bottom = height.toFloat() - paddingBottom
canvas.drawLine(left, bottom, right, top, myPaint)
}
}
【问题讨论】:
标签: android android-studio android-custom-view