Information einblenden - vom custom keyboard aus

  • Hallo,


    ich habe ein custom keyboard. Jetzt möchte ich bei einem Tastendruck und bestimmten Bedingungen eine Information einblenden. Diese Information soll möglichst oberhalb der Tastatur sein, und solange sichtbar bleiben, bis sie angetippt wird. Ansonsten soll der Anwender ganz normal weiter arbeiten können (keine modale Information).


    Tastendruck und Bedingungen habe ich... Das Infofenster ist mein Problem. Kennt dazu jemand eine Lösung, oder einen Ansatz?


    Ein Gedanke war, die Tastatur temporär zu vergrößern und per canvas die Info direkt auf die Tastatur zu pinseln. Da scheitere ich, weil ich die Tastatur nicht größer bekomme. Nicht dass es nicht geht, ich weiß nur nicht wie.
    Ein anderer Gedanke war eine weitere activity zu starten. Hier schaffe ich es nicht, dass das eigentliche Programm normal weiter bedient werden kann.


    Viele Grüße
    Jürgen

  • Hallo
    Du könntest doch oberhalb deines Tastatur Layouts eine Textzeile, Button einfügen und den unsichtbar machen. Mit dem Tastendruck und Bedingung machst du es sichtbar.


    Oder du machst zwei layout Dateien eine mit der Infozeile und eins ohne. Nach dem Tastendruck tauschst du das layout aus.


    Problem ist dann Nur das du dann wohl anderen ids für die
    Tasten Button hast. Ich weiss jetzt nicht ohne test ob es geht zwei Layouts und gleiche id.

  • Hallo jogimuc,


    danke für die schnelle Antwort! Ich denke, ich versuche die verschiedenen Layouts. Auf dem Screen ist eh so wenig Platz und dann möchte ich den nicht dauerhaft mit einer "leeren" Infozeile verschwenden. Ich meine, das mit den Tasten-ids lösbar ist mit einer Tastenbreite 0 - Die ist dann id-mäßig vorhanden, aber nicht sicht- und bedienbar. Weißt Du zufällig, wie man die Layouts möglichst ohne viel Wind (Aus- und Einblendeanimation) gewechselt bekommt (habe es noch nicht getestet, vermute aber sowas)?


    Viele Grüße
    Jürgen

  • In was ist den das Tastatur layout eingebettet. Wenn es in einer activity ist dann mache ein neues setcontentview. Ansonsten must du den infater benutzen.


    Nur noch zur Info das mit der neuen activity geht nicht. Wenn eine neue startest ist die alte beendet und wird aus dem Speicher gelöscht. Gehst du zurück wird eine Instanz der activty erstellt.

  • ist die Tastatur eine eigene Anwendung die die System Tastatur ersetzt?


    Wie und wo erstellst du den das layout in Java Code?

    Ja, ist eine eigene Anwendung. Angefangen habe ich ohne Activity, nur mit dem Service.
    so sieht der Anfang meiner onCreateInputView (MyInputMethodService.Java) aus:


    Globale Variablen:
    private MyKeyboardView kv;
    private Keyboard keyboard;


    private boolean caps=false;
    Das aus dem Manifest:


    ...wenn ich das so ansehe, könnte die Lösung in kv.setKeyboard(keyboard); liegen. Ich probier mal aus, ob ich dem KeyboardView "on the fly" ein anderes Keyboard verpassen kann.

  • hm, bin halt doch nur Anfänger... Zum Testen habe ich gerade


    Keyboard qwerty_keyboard;
    Keyboard qwertz_keyboard;


    global gemacht, das Keyboard mit qwertz gestartet und kv.setKeyboard(qwerty_keyboard); innerhalb von onKey aufgerufen.
    ...hat funktioniert., das andere Keyboard erscheint dann auch. ist das grundsätzlich falsch?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!