首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >自定义TextView无法设置重力

自定义TextView无法设置重力
EN

Stack Overflow用户
提问于 2018-06-10 06:21:53
回答 1查看 82关注 0票数 0

我有一个自定义的TextView,它只是在文本的左边添加一个点,点的颜色由内部状态决定。但是,不能设置重力(无论是在视图中还是在xml中),并且文本与点重叠,如下所示(我将背景颜色设置为灰色)。但是尺寸设置是正确的。你知道问题出在哪里吗?

代码语言:javascript
复制
private var radius = 10.0f
private var newHeight = 0

override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec)
        val radiusInPixel = Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, radius, resources.displayMetrics))
        val diameter = 2 * radiusInPixel
        newHeight = Math.max(measuredHeight, diameter)
        setMeasuredDimension(measuredWidth + diameter + 30, newHeight)
    }

override fun onDraw(canvas: Canvas) {
    super.onDraw(canvas)

    paint.color = when (status) {
        Status.ACTIVE -> Color.GREEN
        else -> Color.TRANSPARENT
    }

    canvas.drawCircle(radius, newHeight / 2f + 3, radius, paint)
}
EN

回答 1

Stack Overflow用户

发布于 2018-06-10 07:31:02

这可能是由于你正在使用的布局,重力在FrameLayout上工作得很好。如果你想把点添加到文本的请求中,我建议你使用一个LinearLayout作为文本的父元素,并将点作为视图元素父元素的第一个子元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50779014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档