AndroidにおけるEditText隠し/自動ポップアップ入力方式の問題
4393 ワード
一部のアプリケーションでは、EditTextフォーカス時に自動的に入力法をポップアップしたり、入力法を隠したりする必要があります.入力法ポップアップについては、一般的には問題はありません.しかし、入力方式が自動的にポップアップされていない場合があります.例えば、ポップアップされたダイアログボックスにedittextがあり、よく使われる使い方を紹介します.
一、AndroidManifestファイルの構成
一般的な方法では、edittextのあるactivityに
三、activity起動時の入力方式のデフォルトは開かない
Activityが起動するとeditextがフォーカスせず、入力方式はポップアップされず、入力するときにクリックすると入力方式がポップアップします.onCreateメソッドで、次のように設定することもできます.
三、ダイアログにEditTextがあり、入力方式を強制表示する
ポップアップされたダイアログボックスにはedittextがあり、showメソッドは入力法の現実と衝突する可能性があり、自動的にポップアップされていないので、このようにすることができます.
四、入力法に関する方法
まとめ
応用するのは比較的簡単で,もう余計なことは言わない.また、EditTextを構成し、フォーカスを取得するかどうかを設定し、フォーカスをクリアする:
一、AndroidManifestファイルの構成
一般的な方法では、edittextのあるactivityに
android:windowSoftInputMode
を配置し、入力方式に自動的にサイズを調整させる.例えばログインインタフェースには、2つのEditTextとボタンがあり、ユーザーがユーザー名を入力すると、自動的に入力法をポップアップし、レイアウトを上にし、adjustResizeは入力法がedittext入力ボックスを隠さないようにすることができます. <activity
android:name="com.oair.oair_client.LoginActivity"
android:label="@string/title_activity_login"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation"
android:windowSoftInputMode="adjustResize"/>
三、activity起動時の入力方式のデフォルトは開かない
Activityが起動するとeditextがフォーカスせず、入力方式はポップアップされず、入力するときにクリックすると入力方式がポップアップします.onCreateメソッドで、次のように設定することもできます.
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
三、ダイアログにEditTextがあり、入力方式を強制表示する
ポップアップされたダイアログボックスにはedittextがあり、showメソッドは入力法の現実と衝突する可能性があり、自動的にポップアップされていないので、このようにすることができます.
// , handler
dialog_rename.show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
showInputMethod();
}
},100);
}
private void showInputMethod() {
//
InputMethodManager inputManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
// Android
// inputManager.hideSoftInputFromWindow(edit.getWindowToken(),0);
}
四、入力法に関する方法
/**
*
* @param context
* @param view
*/
public static void showInputMethod(Context context, View view) {
InputMethodManager im = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
im.showSoftInput(view, 0);
}
//
public static void HideKeyboard(View v){
InputMethodManager imm = ( InputMethodManager) v.getContext( ).getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive()) {
imm.hideSoftInputFromWindow( v.getApplicationWindowToken() , 0 );
}
}
まとめ
応用するのは比較的簡単で,もう余計なことは言わない.また、EditTextを構成し、フォーカスを取得するかどうかを設定し、フォーカスをクリアする:
edit.clearFocus();
EditTextソフトウェアキーボード:edit.setInputType(InputType.TYPE_NULL);
をポップアップしません.Activityデフォルトポップアップ入力法:android:windowSoftInputMode="stateVisible|adjustPan"
コミュニケーション、杜乾、Dusan、Q 291902259を歓迎します.