6

私はAndroid用のカスタムキーボードを開発しています。押されたスマイリーフェイスがポップアップするときにボタンを作成しようとしています。android:popupCharactersは、android:popupKeyboardだけでなくキーボードにもポップアップを表示する役割を果たしていることがわかりました。私の問題は、たとえばandroid:popupCharacters = ":) :("を置くと、ボタンに各文字が表示されたポップアップが表示されることです。どのように実行されますか?

前もって感謝します

4

4 に答える 4

5

ドキュメントを注意深く読んでください: http://developer.android.com/reference/android/inputmethodservice/Keyboard.Key.html#attr_android:popupCharacters

Android:popupCharacters

ポップアップ キーボードに表示する文字。

[...]

アンドロイド:ポップアップキーボード

ポップアップ キーボードの XML キーボード レイアウト。

popupcharacters は popupkeyboard を作成するためのより簡単な方法を意味します。しかし、Unicode が登場し、XML を作成して画像を使用する手間を省きます: http://unicodeemoticons.com/試してみてください! (昔やってみたところ、2.2エミュレータ、ZTE BladeとT-Mobile Pulse / Huwaei U8220でうまく表示されました)。

この回避策が必要ない場合は、android SDK ソースに移動し、ポップアップ キーボード全体を再実装 (または可能であれば過剰実装) して使用できるようにすることをお勧めします。とにかく、もし私がユーザーだったら、ユニコードや画像にもっと満足するでしょうが、これは私の意見にすぎません.

于 2013-05-12T02:32:56.090 に答える
2

次のように、xml ディレクトリにポップアップ用の別の xml レイアウトを作成します。

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
    android:keyWidth="15%p"
    android:horizontalGap="0px"
    android:verticalGap="0px"
    android:keyHeight="@dimen/key_height"
    >

<Row android:rowEdgeFlags="top">
        <Key android:keyLabel=":-)" android:keyOutputText=":-) "
        <Key android:keyLabel=":-)" android:keyOutputText=":-( "
    </Row>
</Keyboard>

追加のスマイリーに必要な数の行および/またはキー属性を追加し、これをキーボード xml で使用します

    <Key android:keyOutputText=":-)" android:keylabel=":-)" android:popupKeyboard="@xml/popup"/>

これにより、キー「:-)」が作成され、一度押すと文字 :-) が出力され、長押しするとポップアップ xml レイアウトが使用されます。

于 2014-04-16T05:25:50.000 に答える
1

私があなたのクエリを正しく理解し、Watsapp-smiley-buttonに似たものを実装したい場合は、ボタンのPopupWindowを利用してonClick、さまざまなスマイリーを追加できます。

于 2013-05-16T12:27:59.613 に答える
1

独自のキーボードを作成する場合は、次のソース コードを確認してください。非常に役立ちます。

北欧キーボード

ハッカーのキーボード

Android 絵文字キーボード

また、キーボードのテーマを変更したい場合は、次のリンクを確認してください。プレビューのレイアウトとすべてを作成する方法が明確になります。特にスマイリーについて確認したい場合は、Android Emoji Keyboardが非常に便利です。キーボードとプレビューでもスマイリー記号を使用します。

これがあなたを助けることを願っています。

于 2013-05-15T11:00:29.123 に答える