web-dev-qa-db-ja.com

プログラムで絵文字を非表示/無効にする方法Androidソフトキーボード

特定のキーボードボタンを非表示にすることはできますか?私はEditTextを持っていて、一部のデバイスではキーボードの顔がスマイリーですが、他のデバイスではキーボードがありません。すべてのデバイスで非表示にしたい。

以下は、私のEditTextのXMLです。

Android:id="@+id/text_editor"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_alignWithParentIfMissing="true"
Android:layout_centerVertical="true"
Android:layout_toLeftOf="@+id/send_side"
Android:hint="Enter your text"
Android:imeOptions="actionSend|flagNoEnterAction"
Android:inputType="textLongMessage|textAutoCorrect|textCapSentences|textMultiLine"
Android:maxLength="1000"
Android:maxLines="3"
Android:nextFocusRight="@+id/send_button"
Android:padding="12dp"
Android:textSize="13sp"

これは可能ですか?

29
ellen6a

質問が反対票を投じられた理由がよくわかりません。有効な質問です。

私は何かを発見しました ここ

textLongMessageからinputTypeオプションを削除する必要があります。

ほとんどのキーボードには「:-)」ボタンがありますが、絵文字はありません。

14
Scorpio

(完全のため)

このソリューションは、ソフトキーボードにスマイリーなしでテキストビューを表示する必要があるユーザー向けです。メールアドレスタイプを使用する@Adrianのソリューションは機能しますが、キーボードに不要な「@」および「.com」ボタンが表示されます。私はInputTypeのいくつかの組み合わせを試しましたが、IMHOの最良のソリューションはこれです:

mTextView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

元のキーボード: enter image description here

結果のキーボード: enter image description here

6
user1506104

Android 4.4.2

Android:inputType="textEmailAddress|textMultiLine"
0
Adrian

同様の質問でPetrDañaから...これにより、オートコンプリートが有効になり、すべてのスマイリーが無効になります。

InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
    for (int i = start; i < end; i++) {
        int type = Character.getType(source.charAt(i));
        //System.out.println("Type : " + type);
        if (type == Character.SURROGATE || type == Character.OTHER_SYMBOL) {
            return "";
        }
    }
    return null;
    }
};

mMessageEditText.setFilters(new InputFilter[]{filter});

AndroidのEditTextで顔文字を検出する方法 」を参照してください。

0
karenms

@Adrianの解決策を試しましたが、「@」と「.com」のキーがあります。ユーザー名を入力できるフィールドが必要です。 textVisiblePasswordtextNoSuggestionsを組み合わせて解決策を得ました:

Android:inputType="textVisiblePassword|textNoSuggestions
0
SajithK