How to disable auto-capitalization of an EditText

2019-01-25 12:02发布

问题:

This will have a really simple answer, but I can't seem to find what it is. I want to disable the auto-capitalization of an EditText so that, by default, the first letter entered with not be automatically capitalized. I still want to allow capitalization, but only if the user manually does so.

I've tried android:capitalize="none" on my EditText, and I've tried android:inputType="text" but both still auto-capitalize the first letter. I don't want to use a TextWatcher because on the soft keyboard it will still show the shift key as pressed for the first letter, and I'm nit-picky and don't want that to show.

回答1:

You could try using android:inputType="none" instead.

UPDATE:

You could also try using android:inputType="text|textEmailAddress"



回答2:

Have you tried android:inputType="textFilter"? That will disable all text filters, so there's no auto-correcting.



回答3:

For posterity, I think what you're (or more accurately, whoever finds this in the future) looking for is this table of all the options that can be used for the inputType:
https://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType

In this specific case, I would recommend "text".
Just plain old text. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_NORMAL.