我的布局中有一个EditText和一个Button.
在编辑字段中写入并单击后Button,我想隐藏虚拟键盘.我假设这是一段简单的代码,但我在哪里可以找到它的一个例子?
android soft-keyboard android-layout android-softkeyboard android-input-method
我已经设置了一个简单的ViewPager,每页都有一个高度为200dp的ImageView.
这是我的寻呼机:
pager = new ViewPager(this);
pager.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
pager.setBackgroundColor(Color.WHITE);
pager.setOnPageChangeListener(listener);
layout.addView(pager);
Run Code Online (Sandbox Code Playgroud)
尽管将高度设置为wrap_content,但即使imageview仅为200dp,寻呼机也会填充屏幕.我试图用"200"替换寻呼机的高度,但这给了我多种分辨率的不同结果.我无法将"dp"添加到该值.如何在寻呼机的布局中添加200dp?
当用户点击时EditView,Android会打开键盘,以便用户可以写入EditView.
问题是,当用户完成写入时,无法隐藏键盘.用户必须按后退按钮才能隐藏键盘.
有没有办法Done在键盘上显示隐藏键盘的按钮?
我有一个edittext,当用户点击这个edittext时,我想显示一个alertdialog.
我的代码如下:
edt.setInputType(InputType.TYPE_NULL);
edt.setFocusableInTouchMode(true);
edt.requestFocus();
edt.setCursorVisible(false);
edt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
CommentDialog.buildDialog(mContext, identifier, false, edt.getId());
}
});
Run Code Online (Sandbox Code Playgroud)
我不希望在用户单击edittext时显示键盘,因此我将inputtype设置为TYPE_NULL.
但是当edittext没有焦点并且我单击它时,onClick事件不会被执行.当我再次单击它时,alertdialog会正确显示.
我该如何解决?
继承人的困境:我正在显示一个屏幕,其中有一个输入字段和一个标签内的2个按钮(共有3个标签,它们位于屏幕的底部).2个按钮设置在屏幕的左下方和右下方,位于选项卡的正上方.当我点击输入字段时,标签和按钮都被推到键盘顶部.
我希望只按下按钮,并将标签保留在原来的位置,在底部.一旦我确定软键盘正在显示,我正在考虑将标签的可见性设置为GONE,并且一旦软键盘消失就可以看到VISIBLE.
是否有某种类型的软键盘监听器,或者输入字段?也许OnFocusChangeListener是编辑文本的一些棘手的用法?如何确定键盘是否可见?
我遇到这种情况,我检查软键盘是否打开,我想在代码中解散,当我使用下面的代码时它无法解除键盘,因为代码找不到任何焦点,但键盘仍然打开,所以我怎么能隐藏它?
private void hideSoftKeyboard() {
Activity activity = (Activity) sContext;
View view = activity.getCurrentFocus();
if (view != null) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
//((Activity) sContext).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
} else {
Log.i(sClassTag,"focus not found");
}
}
Run Code Online (Sandbox Code Playgroud)