11
votes

Clavier Android. Fond de la clé

Comment puis-je définir des arrière-places pour chaque touche du clavier Android. KeyboardView Android: Keybackground fournit un fond pour toutes les clés. Mais je veux définir différents horizons pour chaque clé.


1 commentaires

Vous avez eu un succès avec les paramètres des clés de clé personnalisés pour une seule touche sur le clavier?


4 Réponses :


0
votes

Peut-être que vous pourriez peut-être définir une nouvelle Méthode de saisie .


0 commentaires

2
votes

J'ai essayé de le faire aussi. L'arrière-plan clé est dessiné dans OnbufferDraw () dans la classe KeyboardView. Le problème est qu'il s'agit d'une méthode privée, vous ne pouvez donc pas le remplacer par une sous-classe. J'ai donc essayé de copier le clavier pourvoir et de modifier cela, mais il utilise com.android.internal.r ressources, qu'une application externe n'a pas accès. Donc, cette approche ne fonctionne pas.

À ce stade, il commence à ressembler à je dois jeter les cours de clavier d'Android sur la fenêtre et écrire le tout à partir de zéro --all B / C Je ne peux pas changer l'image de fond de la clé d'espace. Ridicule.


3 commentaires

À partir de zéro n'est pas si difficile. En fait, vous ne pouvez que copier / coller KeyboardView.java de la source ouverte dans une nouvelle sous-classe de KeyboardView et commencez à le personnaliser en fonction de vos besoins.


De nombreuses classes à Android sont qui impossibles à personnaliser. Il serait beaucoup plus facile d'accomplir si l'architecture d'Android utilisait des délégués (ou des auditeurs) et autorisé le remplacement des classes d'assistance à plus de points.


Je suggère de copier / coller KeyboardView.java dans votre classe de visualisation personnalisée de clavier. De cette façon, vous obtenez toutes les fonctionnalités pré-écrites et vous pouvez remplacer tout ce dont vous avez besoin. C'est ce que j'ai fait.



5
votes

Si vous écrivez votre propre IME, essayez d'utiliser une image dessinable pour l'image de premier plan (avec Android: Keyicon dans XML ou Key.icon en Java) qui est égal à la taille de la touche entière. Ceci est essentiellement équivalent à la définition de l'image d'arrière-plan d'une seule clé. Bien sûr, vous devrez également inclure le premier plan dans votre image.

Vous devrez également utiliser une image d'arrière-plan sans rembourrage, de sorte que cela ne pique pas autour des bords. Voir cette annonce pour plus de détails sur la façon de faire ceci: Comment a 9Patch PNG Travailler dans les applications Android

Barry


0 commentaires

8
votes

I personnalisé MykeyboradView Extendez le clavierView et remplacer la méthode ondraw. XXX

L'effet de réalisation est la suivante Entrez la description de l'image ici

Ce liens: HTTPS: // github.com/xuejinwei/numberkeyboard


0 commentaires