KeyBoardView を拡張するカスタム MyKBV クラスがあります。キーにカスタム フォントを使用するために、このカスタム ビューを作成しました。キーの変更されたフォントを確認できますが、問題は、各キーが XML のデフォルト キーと重複していることです。これは TypefaceE.DEFAULT_BOLD.SO であると推測されます。私が見ているのは、各キーに太字とカスタム キーのみが表示されるようにデフォルト キーをクリアするにはどうすればよいですか。私はこれに多くの時間を費やしました。どこが間違っているか、または何ができるかを誰かが指摘できると助かります。ありがとうございます!!
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;
}
}