TextViewの左側とテキストの間の距離を取得しようとしています。プロパティandroid:gravity="center"
を使用します。TextViewの境界とテキストの間のスペースを取得
私は青色のボタンを中央に(この赤いバーは、レイアウトの一部ではありません)赤いバーの距離を取得したいです。私は何をすべきか? 暗い領域はTextViewの境界を表します。
このビューはボタンの色をランダムに変更するため、compoundDrawableは使用しません。
(Kotlinで書かれた)ビューのコード:
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()'メソッドをチェックしてください。 2番目の引数として渡す 'Rect'は、呼び出しの後に' left'フィールドの値として水平なインセットを持ちます。 –