2017-12-16 14 views
1

TV-Gerät unterstützt keine Touch-Bedienung, Benutzer müssen Remote Control verwenden. Wir müssen den Fokus verschieben, indem Sie die linke, obere, rechte, untere Richtungstaste drücken, und wenn das Ziel-Widget den Fokus erhält, drücken wir die OK-Taste, um das Schlüsselereignis zu beantworten. Aber ich kann keine Flatterschnittstelle finden, um diese Interaktion zu lösen, wer kann mir helfen?Wie lassen sich flatternde Apps TV-Geräte unterstützen?

Antwort

2

Dafür gibt es SystemChannels. Ich habe es selbst nicht ausprobiert, aber es sieht aus wie dies tun sollten, was Sie brauchen:

DartDocs - SystemChannels.keyEvent

Ein JSON BasicMessageChannel für Tastaturereignisse.

[DartDocs - SystemChannels.textInput [(https://www.dartdocs.org/documentation/flutter/0.0.41-dev/services/SystemChannels/textInput-constant.html)

A JSON MethodChannel für die Texteingabe Handhabung.

Dieser Kanal stellt ein Systemtexteingabesteuerelement für die Interaktion mit IMEs (Eingabemethodeneditoren, z. B. Bildschirmtastaturen) bereit. Es gibt ein Steuerelement, und zu jeder Zeit kann es eine aktive Transaktion haben. Transaktionen werden durch eine Ganzzahl dargestellt. Neue Transaktionen sind gestartet von TextInput.setClient. Es wird angenommen, dass Nachrichten, die gesendet werden, für die aktuelle Transaktion sind (der letzte "Client", der durch TextInput.setClient festgelegt wurde). Nachrichten, die von der Shellseite empfangen werden, geben die Transaktion an, für die sie gelten, sodass veraltete Nachrichten , die auf vergangene Transaktionen verweisen, ignoriert werden können.

Die später verwendet wird, in https://github.com/flutter/flutter/blob/4389f07024a4c69f7223401abd4d0ab3ecc45698/packages/flutter/lib/src/services/text_input.dart

Es gibt bekannte Probleme mit physischen Tastaturen gedacht, dass könnte dieser Anwendungsfall verursachen nicht

Verwandte Themen