2011/03/29

Android - Activity 起動時にキーボードを表示させない

Activity を起動する際に, EditText にフォーカスが当たっている場合, キーボードが自動で表示される。
これを辞めたい場合 (キーボードの表示を禁止する場合),

setContentView を行う前に,
this.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
をしてあげれば良い。(※ android.view.WindowManager.LayoutParams をimport)

こちらを参考にさせて頂きました。

また, EditTextかたフォーカスが外れたらキーボードを隠したい場合は,

  1. EditText editText = (EditText)findViewById(R.id.EditText01);  
  2. editText.setOnFocusChangeListener(new View.OnFocusChangeListener(){  
  3.   
  4.     @Override  
  5.     public void onFocusChange(View v, boolean flag){  
  6.         if(flag == false){  
  7.             InputMethodManager inputMethodManager =  
  8.                 (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);  
  9.             inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(),0);  
  10.         }  
  11.     }  
  12. });  

というように, EditText の setOnFocusChange に inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(),0)
を行わせてあげれば良い。

0 コメント:

コメントを投稿

 
;