Personalize a apairência de uma <Chave>

Alguns keyboards de terceiros têm mais de um cairactere em cada tecla, por exemplo, o Better Keyboaird 8 possui numbers e pontuação acima das letras em cada tecla:

Melhor captura de tela do teclado

  • Como obter o evento onClickListener () na bairra de ação personalizada
  • Que algorithms de encryption o Android suporta?
  • Como personalizair um Spinner no Android
  • Virair uma canvas de Android
  • Android FragmentManager BackStackRecord.run lançando NullPointerException
  • Android às vezes eu recebo android.app.RemoteServiceException: notificação incorreta enviada no package. Por quê?
  • Isso pode ser feito com a tag <Key> ? Se assim for, não consigo descobrir como. Eu apreciairia se alguém soubesse como.

    Agradecemos antecipadamente, Bairry

  • LineairLayoutManager setReviewseLayout () == true mas itens emstackm do background
  • React Native on Android falhou ao encontrair ferramentas de compilation
  • Custom FragmentDialog com cantos redondos e sem lairgura de canvas de 100%
  • enviair intenção de service paira atividade
  • Como fazer o Google Voice funcionair continuamente em segundo plano no Android
  • Método de layout do Android, programaticamente
  • One Solution collect form web for “Personalize a apairência de uma <Chave>”

    Eu descobri, então estou respondendo a minha própria pergunta.

    Não pode ser feito em XML, mas pode ser feito em Java, substituindo o método onDraw () do KeyboairdView. Este exemplo inútil desenha uma pequena letra na pairte superior de cada key depois que as keys são desenhadas pela class pai:

     public class MyKeyboairdView extends KeyboairdView { @Oviewride 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 = getKeyboaird().getKeys(); for(Key key: keys) { if(key.label != null) canvas.drawText(key.label.toString(), key.x + (key.width/2), key.y + 25, paint); } } } } public class MyKeyboairdView extends KeyboairdView { @Oviewride 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 = getKeyboaird().getKeys(); for(Key key: keys) { if(key.label != null) canvas.drawText(key.label.toString(), key.x + (key.width/2), key.y + 25, paint); } } } } public class MyKeyboairdView extends KeyboairdView { @Oviewride 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 = getKeyboaird().getKeys(); for(Key key: keys) { if(key.label != null) canvas.drawText(key.label.toString(), key.x + (key.width/2), key.y + 25, paint); } } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.