我想創建一個自定義的EditText類與一個矩形繪製它。我很容易就可以工作。但後來我也希望文字居中,因此我設置了重心=中心。然而,這使得箱子周圍的矩形消失。重力屬性是否改變邊界框?我如何檢索正確的邊界框?自定義EditText與周圍繪製的矩形與重力不兼容
類如下:
public static class LetterBox extends EditText {
private Paint mPaint = new Paint();
public LetterBox(Context context) {
super(context);
this.setupPaint();
}
public LetterBox(Context context, AttributeSet attrs) {
super(context,attrs);
this.setupPaint();
super.setGravity(Gravity.CENTER);
}
public LetterBox(Context context, AttributeSet attrs, int defStyle) {
super(context,attrs,defStyle);
this.setupPaint();
super.setGravity(Gravity.CENTER);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawRect(0,0,getMeasuredWidth()-1,getMeasuredHeight()-1,mPaint);
super.onDraw(canvas);
}
private void setupPaint() {
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(Color.BLACK);
}
}
怎麼樣this.setGravity(Gravity.CENTER)? – 2014-11-05 21:04:25
謝謝。沒有幫助強硬。 – 2014-11-05 21:44:39
你是如何構建Letterbox對象的?用findViewById? – David 2014-11-05 22:11:47