Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android edittext is underlined when typing

I need to removed underline when type in edit text field in Android. For the first name edit text first letter should be capital so that I have given textCapSentences, but in my case I see underline in edittext fields. how to remove that?

I have tried all the combination of textFilter|textNoSuggestions|textCapSentences

its my first name edit text:

    <EditText
        android:id="@+id/signup_lname"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:background="@color/signup_layer_bg2"
        android:ems="10"
        android:gravity="center"
        android:hint="@string/signup_lname"
        android:imeOptions="actionDone"
        android:inputType="textFilter|textNoSuggestions|textCapSentences"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:singleLine="true"
        android:textColor="@android:color/white"
        android:textColorHint="@android:color/white"
        android:textCursorDrawable="@drawable/custom_cursor" />

My screen:

enter image description here

like image 425
M.A.Murali Avatar asked Feb 10 '16 18:02

M.A.Murali


People also ask

How do you get rid of the underline when typing?

When you want to stop underlining, press Ctrl+U again.

How do I stop my android from underlining?

Try turning off every Text Correction option in Gboard's settings, and see if it still shows up. Try turning off every Text Correction option in Gboard's settings, and see if it still shows up.

How do I remove the underline feature while typing in Android keyboard?

So, in Gboard settings - go to settings, language & input then note that Gboard has to be set as the spell checker for the system. So switch ON spell check to select Gboard, then switch off spell check in Gboard settings (and not system which remains on).

How do you underline in EditText?

Custom Subject Modification UnderlineAdd an EditText to activity_main. xml, and add the android:theme="@style/MyEditText" attribute. The effect is as follows: As you can see, the color of the cursor and underline will be changed, but the spacing will remain.


1 Answers

None of the other answers were useful for me. This underline is added to suggest words when writing. This is enabled by a setting on your keyboard app (Gboard in my case).

So there are at least three options you can do:

  • Do nothing as this is a setting on an external app (Gboard) and is the user who should handle it.

  • Ask the user to disable it and show instructions to explain how to do it. This is: To navigate to gboard settings from settings app or also from an opened keyboard and click on the Settings button, then go to "text/spell correction" or similar and disable the first switch: Show suggestion strip

  • Remove it by your self. As Gboard adds an UnderlineSpan to the EditableText in EditTexts you can remove it just first looking for it. The underline is added by Gboard at some point between onTextChanged and afterTextChanged so I had to remove it on afterTextChanged method.

    editText.addTextChangedListener(new TextWatcher() {
         @Override
         public void beforeTextChanged(CharSequence s, int start, int count, int after) {
         }
    
         @Override
         public void onTextChanged(CharSequence s, int start, int before, int count) {
         }
    
         @Override
         public void afterTextChanged(Editable s) {
             for (UnderlineSpan span : s.getSpans(0, s.length(), UnderlineSpan.class)) {
                 s.removeSpan(span);
             }
    
             ...
         }
    });
    

If you need to keep any other UnderlineSpan you could mix this solution with this one: https://stackoverflow.com/a/47704299/6552016

like image 142
Rubén Viguera Avatar answered Sep 23 '22 06:09

Rubén Viguera