Tasten- und Schriftfarbe der Bildschirmtastatur ändern

  • Hallo,
    im Keyboard Layout File kann man die Farbe der Tasten und der Schrift einstellen mit z.B.:

    Code
    android:keyTextColor="@color/colorAccent"
    android:keyBackground="@color/darkTurquoise"


    ... habe ich gedacht (und viele Tutorials auch). Aber egal, welche Werte ich hier eintrage, mein Keyboard sieht immer exakt gleich aus. Mein Verdacht ist, dass hier irgend ein "Design" sein Bild auf die Tasten pinselt, und dadurch meine Wunschfarben Überschrieben werden ... wie schon gesagt, Verdacht, dann Wissen ist nicht.
    Was kann hier der Grund sein? ...und natürlich: Wie kann man das beheben?


    Beispiel Wunschfarbe:
    Ansicht der Tastatur:


    keyboard_view.xml:

    method.xml:

    XML
    <?xml version="1.0" encoding="utf-8"?>
    <input-method
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:settingsActivity="com.js.basickeyboard99.MainActivity">
        <subtype
            android:imeSubtypeMode="keyboard"/>
    
    
    </input-method>

    AndroidManifest.xml:

    Viele Grüße
    Jürgen

  • Zitat

    Ich kann das nicht richtig einschätzen: Bin ich mit der Frage bei "Anfängerfragen" falsch?


    Hallo ob du hier falsch bist ich denke nein. Warum hier keiner antwortet weis ich auch nicht.



    Da Ich bis jetzt noch keine Tastatur geschrieben habe kann ich auch nicht allzu viel sagen.


    Ich habe mal ein einfache Tutoriell benutzt. Und deine beiden Zeilen getestet.


    Ging bei mir ohne Problem. über eines bin ich mir bei dir nicht sicher ob du überhaupt die Farbe in colors.xml definiert ist.



    android:keyTextColor="@color/colorAccent"


    android:keyBackground="@color/darkTurquoise"



    darkTurquoise gibt es eigentlich nicht.




    https://code.tutsplus.com/tuto…ard-on-android--cms-22615

  • Hallo jogimuc,


    vielen Dank, dass du es getestet hast. Schon beim Lesen Deiner Antwort, dachte ich: "Nach dem Tutorial muss ich fragen" - um genau das auch zu testen. Und Du hast gleich den Link dazu geliefert. Sehr aufmerksam!


    Die Farben habe ich in colors.xml definiert mit:

    XML
    <color name="colorAccent">#D81B60</color>
        <color name="darkTurquoise">#00CED1</color>

    Wenn man auf das Bild "Beispiel Wunschfarbe" im obersten Post klickt, sieht man die Farbvorschau von AS direkt neben der Zeilennummer. Das sollte passen?.


    Ich mache mich demnächst daran, das mit dem von Dir verlinkten Tutorial zu testen und berichte dann das Ergebnis.


    Viele Grüße
    Jürgen

  • hallo eine Frage noch zu den Farben.
    Habe mir nochmal dein Bild angesehen. Was willst du eigendlich erreichen?
    Ich hoffe nicht das du die Buchstaben und Ziffern in einer anderen Farbe darstellen willst.
    Mit den zwei Zeilen änderst du alle tasten Hintergrund und Text.
    Nicht jede taste einzeln. Hoffe das dies nicht dein Ziel war.


    Wenn ja wirst du das so bestimmt nicht erreichen.


    Wie das jetzt geht wüsste ich jetzt nicht gleich aus dem stehgreif.

  • Hallo jogimuc,


    doch, genau das war Plan A; Gut erkannt! Und wenn das nicht gehen sollte, war Plan B: Das Umranden der Tasten, wie im Bild und wenigstens alle Tasten gemeinsam individuell einstellbar machen.


    Ich habe inzwischen Dein vorgeschlagenes Tutorial getestet, leider ohne Erfolg. Die Farben lassen sich nicht ändern:

    Hast Du Eclipse oder AS verwendet? ...Und ich habe mich nicht ganz an die Vorgaben gehalten: Das Tutorial wünscht min SDK von 2.2, ich habe 4.0 eingestellt (2.2 will ich mir echt nicht mehr herunderladen). Aber kann das ein Problem bei den Farben sein?


    Ich habe da eher andere Sorgen:
    Google steicht die Klassen Keyboard und KeyboardView ersatzlos (Doku auf developer.android.com/reference...):


    Muss ich jetzt die Klassen selbst schreiben? - Dann habe ich natürlich auch Freie Hand, was Farben angeht - Aber eigentlich wollte ich mir nicht so viel Arbeit machen und selbst ein Keyboard und KeyboradView schreiben :-(.


    Viele Grüße
    Jürgen

  • Selber schreiben oder die vorhandene Datei anpassen

    Hallo Xeno,


    also wie ich befürchtet habe - Die Klassen habe ich mir schon heruntergeladen. Es wird wohl auf sowas wie "anpassen" hinauslaufen. Selber schreiben kann ich noch nicht, würde mich deshalb sowieso an den Orginalklassen "entlang hangeln". Ich muss mir erst den Durchblick verschaffen; Die Stelle, an der ein Key gezeichnet wird, habe ich noch nicht erkannt. Aber über ein invalidate(rect dirty) bin ich gestolpert, das die Klassen aufrufen und von Google ab API level 28 ebenfalls "gestrichen" wurde. So ein Mist!


    @Google: Wenn man aus einem SDK alles herausstreicht, was für Programmierer hilfreich ist, was bleibt dann übrig? :thumbdown: ...ist vermutlich nur der Ärger über meine eigene Unfähigkeit als Anfänger und Hobbyprogrammierer - muss aber irgendwo raus B-)


    Viele Grüße
    Jürgen

  • Das Thema ist schon als erledigt markiert. Passt, denn "selbst schreiben" ist die Lösung. Hier ist das vorläufige Keyboard (.apk) von mir zu finden: https://www.tapatalk.com/group…sic-t5866-s60.html#p43473.
    Ich verfeinere das ganze noch etwas und dann werde ich dort auch den Quellcode veröffentlichen.


    Features des Keyboards:

    • Separate Layouts für Portrait- und Landscapemodus
    • Einstellbares Hintergrundbild
    • Farben der Tasten, der Schrift und des Hintergrunds (wenn kein Bild) sind einstellbar
    • Cut, copy & paste Tasten
    • Spezielle Tasten für Klammern: () [] {} <> "" können mit einer Taste als Paar eingegeben werden. Ist ein Text ausgewählt, wird dieser von den Klammern eingefasst und der Cursor hinter die schließende Klammer gestellt. Sonst kommt der Cursor in das leere Klammerpaar.
    • Pfeiltasten, Tasten für Bild auf/ -ab, Zeilenanfang/ -ende sind verfügbar.
    • In den nächsten Versionen wird das User-Layout zum laufen gebracht. Damit kann per externer Datei ein eigenes Layout erstellt werden.


    Viele Grüße
    Jürgen

Jetzt mitmachen!

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