3
KeyBoardView를 확장하는 사용자 정의 MyKBV 클래스가 있습니다.이 사용자 정의보기를 작성하여 키의 사용자 정의 글꼴을 사용합니다. 내가 열쇠에 변경된 글꼴을 볼 수 있지만 문제는 각각의 Key overlapping은 XML의 기본 키와 같습니다. TypefaceE.DEFAULT_BOLD.SO 내가 보는 것은 각각의 키에 두 개의 문자열이 하나씩 있고 원하는 글꼴 만 표시되도록 기본 키를 지우려면 어떻게해야합니까? 나는이 작업에 많은 시간을 보냈습니다. 누군가 내가 잘못 가고있는 부분이나 내가 할 수있는 부분을 지적 할 수 있다면 도움이 될 것입니다. 할. 고마워! 당신이 된 onDraw를 오버라이드 (override)하는 경우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