我想要获得文本和TextView左边之间的距离。它使用属性android:gravity="center"
。获取文本和TextView边界之间的空间
我想要得到的红条的距离(这个红色条是不是布局的一部分)以中央的蓝色按钮。我该怎么办? 黑暗区域代表TextView的边界。
我不想使用compoundDrawable,因为此视图会随机更改按钮的颜色。
视图(写在科特林)的代码:
class BallTextView: TextView {
private lateinit var ballPaint : Paint
private var ballRadius : Float = 10f
private var ballColor : Int = Color.BLACK
constructor(ctx: Context, attrs: AttributeSet) : super(ctx, attrs) {
initializeAttributes(attrs)
configBall()
}
override fun onDraw(canvas: Canvas) {
canvas.drawCircle(ballRadius, height.toFloat()/2, ballRadius, ballPaint)
super.onDraw(canvas)
}
fun configBall() {
ballPaint = Paint()
ballPaint.isAntiAlias = true
ballPaint.color = ballColor
}
fun initializeAttributes(attrs: AttributeSet) {
val attributes = context.obtainStyledAttributes(attrs, R.styleable.ball_textview)
ballRadius = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
attributes.getFloat(R.styleable.ball_textview_ball_radius, ballRadius),
context.resources.displayMetrics)
ballColor = attributes.getColor(R.styleable.ball_textview_ball_color, ballColor)
}
}
感谢。
请发布您的xml代码 – Pranita
XML在这里没有任何区别。 –
查看getLineBounds()方法。作为第二个参数传递的'Rect'将在调用后将水平插入作为它的'left'字段值。 –