3
我有自定义MyKBV类扩展KeyBoardView.I创建此自定义视图使用自定义字体的键。我能够在键上看到更改的字体,但问题是每个键与XML中的默认键重叠,我认为它是TypefaceE.DEFAULT_BOLD.SO我看到的是每个键上的两个字符串,一个是粗体,另一个是字体我想要。我该如何去清除默认键,以便只有自定义的可见。我花了很多时间在这。如果有人能指出我要去哪里错了或我能做什么do.Thanks!Android自定义KeyBoardView清除默认键
public class MyKBV extends KeyboardView {
Context context;
@Override
public void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
Paint paint = new Paint();
Typeface font = Typeface.createFromAsset(context.getAssets(),
"fonts/Hippie.otf");
paint.setTypeface(font);
paint.setTextSize(40);
List<Key> listKeys = getKeyboard().getKeys();
for (Key key : listKeys) {
if (key.label != null) {
if (key.label.toString().length() > 1) {
paint.setTextSize(30);
canvas.drawText(key.label.toString(), key.x
+ (key.width/2) - 15, key.y + (key.height/2)
+ 10, paint);
} else {
canvas.drawText(key.label.toString(), key.x
+ (key.width/2) - 10, key.y + (key.height/2)
+ 10, paint);
}
}
}
}
public MyKeyBoardView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
this.context = context;
}
}
嗯,你有没有试过不打电话super.onDraw?这将阻止底层键盘绘制自己..假设你想自己做所有的绘图.. –
你有没有找到任何解决方案@luckysing – Fay007