【发布时间】:2011-08-25 10:12:57
【问题描述】:
一些第 3 方键盘的每个键都有多个字符,例如 Better Keyboard 8 在每个键的字母上方都有数字和标点符号:
这可以用<Key> 标签来完成吗?如果是这样,我无法弄清楚如何。如果有人知道怎么做,我将不胜感激。
提前致谢, 巴里
【问题讨论】:
标签: android android-layout android-widget
一些第 3 方键盘的每个键都有多个字符,例如 Better Keyboard 8 在每个键的字母上方都有数字和标点符号:
这可以用<Key> 标签来完成吗?如果是这样,我无法弄清楚如何。如果有人知道怎么做,我将不胜感激。
提前致谢, 巴里
【问题讨论】:
标签: android android-layout android-widget
我想通了,所以我正在回答我自己的问题。
不能在 XML 中完成,但可以通过覆盖 KeyboardView 的 onDraw() 方法在 Java 中完成。这个无意义的例子在父类绘制键之后在每个键的顶部绘制一个小写字母:
public class MyKeyboardView extends KeyboardView {
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setTextAlign(Paint.Align.CENTER);
paint.setTextSize(25);
paint.setColor(Color.RED);
List<Key> keys = getKeyboard().getKeys();
for(Key key: keys) {
if(key.label != null)
canvas.drawText(key.label.toString(), key.x + (key.width/2), key.y + 25, paint);
}
}
}
【讨论】: