Cot*_*nyo 12 android android-layout android-softkeyboard
我有一个EditText,我将焦点传递给编程.但是当我这样做时,我希望键盘也能显示出来(然后当EditText失去焦点时向下移动).现在,用户必须单击EditText才能显示键盘 - 甚至认为EditText已经具有焦点.
Ani*_*iya 23
<activity android:name=".YourActivity"
android:windowSoftInputMode="stateVisible" />
Run Code Online (Sandbox Code Playgroud)
将此添加到清单文件中...
Waz*_*_Be 17
这是我展示ketyboard的方式:
EditText yourEditText= (EditText) findViewById(R.id.yourEditText);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);
Run Code Online (Sandbox Code Playgroud)
当您的屏幕包含EditText框时,将此活动设置为您的清单中的活动以自动弹出键盘
<activity android:windowSoftInputMode="stateAlwaysVisible" ... />
Run Code Online (Sandbox Code Playgroud)
要在失去焦点时隐藏键盘,请为EditText设置OnFocusChangeListener.
在onCreate()
EditText editText = (EditText) findViewById(R.id.textbox);
OnFocusChangeListener ofcListener = new MyFocusChangeListener();
editText.setOnFocusChangeListener(ofcListener);
Run Code Online (Sandbox Code Playgroud)
添加此课程
private class MyFocusChangeListener implements OnFocusChangeListener {
public void onFocusChange(View v, boolean hasFocus){
if(v.getId() == R.id.textbox && !hasFocus) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
}
}
Run Code Online (Sandbox Code Playgroud)
要显示键盘,请使用以下代码.
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);
Run Code Online (Sandbox Code Playgroud)
要隐藏键盘,请使用下面的代码.et是对EditText的引用
InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(getActivity().INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(et.getWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41652 次 |
| 最近记录: |