How to disable auto-capitalization of an EditText

2019-01-25 11:50发布

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.

3条回答
祖国的老花朵
2楼-- · 2019-01-25 12:37

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

UPDATE:

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

查看更多
【Aperson】
3楼-- · 2019-01-25 12:46

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

查看更多
Viruses.
4楼-- · 2019-01-25 12:51

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.

查看更多
登录 后发表回答