Softkeyboard eigene Tasten

  • Hallo,


    ich suche nach einer Möglichkeit das Softkeyboard-Beispiel
    des SDK so zu erweitern, dass ich den einzelnen Tasten eigene
    Hintergründe geben kann.
    Pro Taste sollen es 2 Hintergründe sein,
    normal und gedrückt. Mit android:keyBackground kann man den Hintergrund
    ja nur global einstellen.


    Mein bisheriger Ansatz:


    1. attrs.xml für die Definition eigener Attribute
    2. Überschreiben verschiedener Methoden in public class LatinKeyboardView extends KeyboardView (LatinKeyboardView.java):





    3. static class LatinKey extends Keyboard.Key in public class LatinKeyboard extends Keyboard (LatinKeyboard.java)
    habe ich angepasst, um an die Attribute der einzelnen Tasten komme.
    damit die Keys in einem Array gespeichert werden habe ich folgene Methode abgeändert:



    4. in onDraw (LatinKeyboardView.java) rufe ich


    Mit diesen Anpassungen ist es mir auch gelungen eigene Hintergründe pro Taste zuzuweisen, jedoch sind ein paar Dinge ungelöst.
    1. wie kann ich die Hintergrundgrafiken als drawable einbinden (Java-Code),


    z.B.

    Code
    <Key android:codes="101" android:keyLabel="e" mykeyb:bgf0="@drawable/amber" mykeyb:bgf1="@drawable/red"


    als externe Grafik von der sdcard klappts so:


    Code
    <Key android:codes="101" android:keyLabel="e" mykeyb:bgf0="but/amber.png" mykeyb:bgf1="but/red.png"


    2.
    wie bekomme ich es hin, dass wenn ein key gedrückt wird, dieser auch
    als 2. Hintergrund dargestellt wird (onDraw wird offensichtlich nicht aufgerufen)
    3. gibt es eine Möglichkeit diese Grafik-Definitionen in
    der <Row ... -Zeile als Default-Angabe für die folgenden <Key ... -Zeilen zu definieren ?
    eventuel mittels "static class LatinRow extends Keyboard.Row" in LatinKeyboard.java


    irgendwie mittels


    Code
    // @Override
    // protected Row createRowFromXml(Resources res, XmlResourceParser parser)
    // { LatinRow row = new LatinRow(res, this, parser);
    // return row.row;
    // }



    Vielleicht hat jemand ein paar Ideen ?


    Gruss Dieter

  • Hier gibt es ein ähnliches Problem in englisch


    Background -> komplettes Keyboard (Zum Thema selektor gibt es hier im Forum schon mal einen Beitrag)


    http://stackoverflow.com/quest…ard-background-in-android


    Background -> Key


    http://stackoverflow.com/quest…-keyboard-keys-background


    Eventl hilft dir das :)





    PS: Ich denke dein Problem ist sehr speziell, daher gibt es hier wahrscheinlich nicht so viele Antworten aus dem Forum

  • Vielen Dank für die 2 Links, aber sie sind auch keine wirkliche Hilfe.


    Meine Idee ist:
    Keyboard.java und KeyboardView.java aus dem SDK zu nehmen und die in das SoftKeyboard-Bespiel einzufügen und entsprechend anzupassen.
    Jedoch scheitere ich daran, dass

    Code
    R.styleable.

    ,

    Code
    R.attr.

    - Ausdrücke als unbekannt styleable cannot be resolved or is not a field gemeldet werden.


    Zur Zeit also auch kein wirkliches weiterkommen.


    Gruss Dieter

Jetzt mitmachen!

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