2014-05-09 8 views
21

Czy można ukryć określony przycisk klawiatury? Mam EditText i na niektórych urządzeniach jego klawiatura ma uśmiechnięte twarze, podczas gdy na innych urządzeniach go brakuje. Chcę to ukryć na wszystkich urządzeniach.programowo ukrywać/dezaktywować emotikony na klawiaturze programowalnej Android

Poniżej jest XML dla mojego EditText:

 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" 

muszę powiedzieć, że jestem nowy na Androida, a jeśli nie jest to możliwe chciałbym wiedzieć dlaczego.

Dziękuję za pomoc.

+4

Nie, o ile wiem, nie można selektywnie ukryć przyciski klawiatury. Ustawienie inputType to wszystko, co możesz zrobić, ale to do aplikacji klawiatury, co robią z inputType. –

Odpowiedz

11

Nie do końca rozumiem, dlaczego pytanie jest nieważne. To jest poprawne pytanie.

Znalazłem coś here.

Musisz usunąć opcję textLongMessage z inputType.

Nadal będziesz miał przycisk ":-)" na większości klawiatur, ale nie na emoji.

+0

Innym sposobem, aby to ukryć? –

1

ten pracował dla mnie na Androidzie 4.4.2

android:inputType="textEmailAddress|textMultiLine" 
+1

nie działa dla mnie na Android 5.0.1 – HopefullyHelpful

5

(Dla dobra kompletności)

to rozwiązanie jest dla ludzi, którzy chcą mieć TextView bez buźkę na ich miękkiej klawiatury. @ Rozwiązanie Adrian, aby użyć typu adresu e-mail, działa, ale pokaże niepotrzebne przyciski "@" i ".com" na klawiaturze. Próbowałem kilka kombinacji z InputType a najlepszym rozwiązaniem jest to IMHO:

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

Oryginalna Klawiatura: enter image description here

Wynikające klawiatura: enter image description here

+1

powoduje to usunięcie funkcji textAutoCorrect i textCapSentences –

+0

Działa z trybem portretu. W trybie poziomym przycisk Emoji pokazuje mi –

+0

. Pracował dla mnie, dzięki – Ahsanwarsi

0

Od Petr Dana w podobny pytanie ... To włącza autouzupełnianie i wyłącza wszystkie emotikony.

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}); 

Patrz the complete answer post

Powiązane problemy