1

Flex spark TextInput (モバイル用) でこの問題が発生した場合:

1) TextInputSkin は keyDown をディスパッチできますが、「number」のように設定された softKeyBoardType を正しく表示できません。2) StageTextInputSkin は softKeyBoardType を正しく表示できますが、keyDown をディスパッチできません。

私のすべての検索から、これらはそのようなスキンの制限であるようです.

何らかの検証のためにキー入力された文字を取得せず、イベントをキャンセルして textInput に表示されないようにするために、keyDown が必要でした。

もう 1 つのオプションは、テキスト入力に表示されずに StageTextInputSkin を使用する前に、キー入力された文字を取得する別の方法を探すことです。

ありがとう!

4

1 に答える 1

0

ユーザーが TextInput コントロールと TextArea コントロールのデフォルトのソフト キーボードを操作すると、keyUp イベントと keyDown イベントがキーの小さなサブセットに対してのみ送出されます。すべてのキーの個々のキー押下をキャプチャするには、change イベントを使用します。change イベントは、テキスト入力コントロールのコンテンツが変更されるたびに送出されます。これの欠点は、押されたキーのプロパティにアクセスできず、独自のキー押下ロジックを作成する必要があることです。ユーザーが TextField ベースのコントロールのソフト キーボードを操作すると、keyUp や keyDown などのイベントがすべてのキーに対して機能します。次の例では、keyUp ハンドラーを使用して現在のキーを取得し、キー コードに基づいてスタイルを Label コントロールに適用します。requestSoftKeyboard() メソッドは、TextInput または TextArea コントロールではなく、Label コントロールのキーボードを上げるため、アプリケーションは TextField ベースのキーボードを使用します。詳細については、次のサイトを確認してください。http://help.adobe.com/en_US/flex/mobileapps/WS82181550ec4a666a39bafe0312d9a274c00-8000.html#WS19f279b149e7481c-66e67e6c13313699023-8000

于 2013-08-29T09:44:38.157 に答える