周囲をタッチしたらEditTextのフォーカスを奪う
EditTextにフォーカス当たってても戻るキーを押したら、キーボード閉じるんですけど、ちょっと不便だわという感じなので、何も無いところというかEditText以外をタップしたらEditTextのフォーカスを奪うようにします。
ActivityでView.OnTouchListenerを実装して、onTouchメソッドから以下のような感じです。
public class MainActivity extends AppCompatActivity implements View.OnTouchListener { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); findViewById(R.id.formFrame).setOnTouchListener(this); } /* 略 */ @Override public boolean onTouch(View v, MotionEvent me) { // http://furudate.hatenablog.com/entry/2013/11/17/120529 // タッチしたのがEditText以外ならダミー要素にFocusを移す if (v.getId() != R.id.EditText1 && v.getId() != R.id.EditText2) { findViewById(R.id.dummyFocus).requestFocus(); // http://techbooster.jpn.org/andriod/ui/7427/ // キーボードを隠す InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } return true; }