5

シンプルなレイアウトのモバイル AIR アプリがあります。

<s:layout><s:VerticalLayout /></s:layout>

<s:TextArea width="100%" height="100%" />

<HGroup width="100%" >
     <s:Button label="button" />
     <s:Button label="button" />
     <s:Button label="button" />
</HGroup>

メインアプリで resizeForSoftKeyboard="true" を設定することにより、ソフトキーボードが開いたときにアプリケーションのサイズが変更されるように設定されています。textArea はデフォルトの Flex 4.6 スキンを使用します。
私の問題は、ユーザーが私のtexAreaにテキストを入力してキーボードを開くと、ボタンをクリックしようとするとすぐにソフトキーボードが下がるため、TextAreaの下のボタンをクリックできないことです(フォーカスが外れるため) (TextArea? の) すぐに再び開きます (mouseDown の位置が TextArea? の上にあるため)。

ユーザーが TextArea とキーボードの間のボタンをクリックできるように、ソフトキーボードが閉じないようにするにはどうすればよいですか?

ありがとう

4

2 に答える 2

1

これは非常に奇妙です。あなたのプログラムを自分で実行してみましたが、まったく問題ありません。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="320" resizeForSoftKeyboard="true">
    <s:layout><s:VerticalLayout /></s:layout>

    <s:TextArea width="100%" height="100%" />

    <s:HGroup width="100%" >
        <s:Button label="button" click="trace('clicked')"/>
        <s:Button label="button" click="trace('clicked')" />
        <s:Button label="button" click="trace('clicked')" />
    </s:HGroup>
</s:Application>

テキスト領域に触れるとキーボードが開き、ボタンをクリックすると (再度開くことなく) キーボードが閉じ、デバッグ時にクリックがコンソールに表示されます。

アプリ全体を投稿していませんが、完全なプログラムで私が投稿していないものはありますか? その場合、そのいずれかが UI に干渉する可能性があるかどうかを確認します。

于 2012-08-25T21:25:54.047 に答える
0

おそらく、ボタンがクリックされたときにキーボードを表示するイベントを追加します。つまり、そのボタンのクリックイベントハンドラーに追加します。

また(そして私はこれを自分で試したことはありません)、そのビューのキーボードの非アクティブ化イベントで、 event.preventDefault() を追加します

ブライアン

于 2012-02-03T11:41:56.037 に答える