Beiträge von JuergenS

    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

    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

    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

    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,
    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

    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?

    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.

    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

    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,


    das ist mein aller erster Post. Ich will mal nachfragen oh hier irgend jemand RFO-BASIC! kennt? Ich nutze das als einfaches Werkzeug zum erstellen kleiner Tools. Es ist ein Interpreter, hat also schnell spürbare Geschwindigkeitsgrenzen. Und die "Entwicklungsumgebung" ist ein einfacher Texteditor, der nicht eimal "rückgängig" beherrscht.


    Für mich ist Java und Android Studio Neuland. Als ein Einstiegsprojekt würde ich gerne einen brauchbaren Editor für RFO-BASIC! erstellen, deshalb meine Anmeldung hier. Ich habe schon ein bischen rumgespielt, z.b. versucht den Quellcode von RFO-BASIC! (von Eclipse) mit Android Studio zum laufen zu bekommen. Mein Vorgehen: Automatisch importieren, dann versuchen alle Fehlermeldungen weg zu bekommen. Dazu viel gegoogelt und Dinge getan, die ich nicht verstanden habe. Hat zwar Erfolg gebracht aber keinen Spaß gemacht.


    Ich starte mal und wende mich bei Fragen hier her.


    Viele Grüße
    Jürgen