Android 添加自定义后堆栈
mSearchWrapper是一个包含EditTextView的视图。mSearchWrapper将可见并消失 当它变为可见时,我将显示键盘并向EditTextView请求焦点:Android 添加自定义后堆栈,android,android-ui,Android,Android Ui,mSearchWrapper是一个包含EditTextView的视图。mSearchWrapper将可见并消失 当它变为可见时,我将显示键盘并向EditTextView请求焦点: private void showInput() { InputMethodManager imm = (InputMethodManager) getSystemService( Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMetho
private void showInput() {
InputMethodManager imm = (InputMethodManager) getSystemService( Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
}
此时,用户可以按下后退按钮并关闭键盘。我想在这里创建一个后堆栈,其中:按下后,不仅会隐藏键盘,还会隐藏mSearchWrapper.setVisibilityView.Goe
如何使已隐藏的键盘backback和setVisibilityView.com在一个back pressed事件中消失
备选方案:如何在特定的现有backback中添加一些代码
我是否应该将该活动中的整个背景重写为?我得到了帮助
我在活动中扩展了EditText类,比如:私有类HidableEditText扩展了EditText,并以编程方式从XML中移动了所有属性,以编程方式添加视图
然后我覆盖了onKeyPreIme:
super为我隐藏键盘和堆叠,因此我只需调整可见性。如果覆盖onBackPressed会怎么样?@shkschneider在第一个背面,它只关闭键盘。在第二个back上,它将可见性设置为Gone,并在关闭应用程序几秒钟后将其设置为Gone,因为堆栈中没有其他内容。因此,您可以在堆栈中实现所需内容并返回true。这回答了您的问题添加自定义后堆栈:只需覆盖onBackPressed。剩下的是另一回事
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
mSearchWrapper.setVisibility(View.GONE);
}
return super.onKeyPreIme(keyCode,event);
}