【android】デバイスキーボードの自動大文字化・自動置換機能を動作させる方法

        オリジナルのAndroid2.2に設定されているデバイスキーボードには自動大文字化と自動置換機能があり、これらの機能をオンにすると機能しないことが判明し、テスト部門がこのバグについて言及しました。動作しなかったことを確認しました。長い間探しました。最終的に TextKeyListener.java のこのコード行を変更しました。

     //return QwertyKeyListener.getInstance(mAutoText, mAutoCap); //これはネイティブです
                     return QwertyKeyListener.getInstance(true, Capitalize.SENTENCES); //これは私が追加したものです

その後、機能します。autoreplace には xml-en/autotext.xml があります。

<words>
 20 <word src="abouta">それについて</word>
 21 <word src="aboutit">それについて</word>
 22 <word src="aboutthe">それについて</word>
 23 < word src="acheive">達成</word>
 24 <word src="acheived">達成</word>
 25 <word src="acheiving">達成</word>
 26 <word src="acomodate">対応</word>
 27 <word src="accomodate">対応</word>
 28 <word src="acn">できる</word>
 29 <word src="adn">および</word>

……

これらの単語が含まれている限り、自動的に置き換えられます(言語は英語です)

「このように変更すれば大丈夫だろうと思っていました。1か月後、テスト部門からバグが報告され、パスワード入力ボックスが自動的に置き換えられ、自動的に大文字になるようになりました。今は混乱しており、変更方法がわかりません」 。

その後、GOOGLE は、EditText コントロールに「android:autoText」と「android:capitalize」という 2 つの属性があることを発見しました。これら 2 つが TRUE に設定されている限り、自動置換と自動大文字化が機能します。

次に、数か月前に変更したコードを復元しました。


無駄な作業をしないためにも、変更する前にこの機能の働きを理解しておく必要がありそうです。










おすすめ

転載: blog.csdn.net/burly/article/details/6913483