我写了一个简单的子类来为edittext字段添加标签。我希望除了提示之外还有一个标签。该字段应该是可编辑的,在字段的右侧有一个提示,并在框的左侧有一个标签。
@Override
public void onDraw(final Canvas canvas) {
super.onDraw(canvas);
if (labelX == -1 || labelY == -1) {
makeTextMeasurements();
}
canvas.save();
canvas.drawText(mLabel, labelX, labelY, mPaint);
canvas.restore();
}
private void makeTextMeasurements() {
mMeasuredTextHeight = getTextHeight(mPaint);
labelX = (int) ViewUtils.getScaledPixels(20, getContext());
labelY = (int) ((getHeight() / 2.0f) + (mMeasuredTextHeight / 2.0f));
}
如果我不调用setInputType,该类工作正常。但是如果我调用setInputType,则不会出现要由canvas.drawText()绘制的文本。我浏览了EditText源代码,但找不到导致这种情况发生的原因。有人有想法吗?