我遇到了 EditText 控件的问题,不知道如何使它完全隐藏。我的要求是使用 InputMethodManager 从 webview 控件显示数字 SIP,并且 showSoftInput 始终默认为字母数字键盘。所以我创建了一个隐藏的 EditText 控件并更改了该控件的输入类型,它工作正常,但问题是隐藏的控件仍然可以访问,并且它总是显示在左上角。有没有办法将隐藏的 EditTtext 与我正在编辑的控件完全移动/对齐并完全隐藏它。
InputMethodManager imm;
if (mWebEditText == null)
{
mWebEditText = new WebEditText(Common.mainActivity.getApplicationContext(),view.getView());
}
mWebEditText.setInputType(InputType.TYPE_CLASS_NUMBER);
mWebEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
AbsoluteLayout webEditTextPanel = (AbsoluteLayout) Common.mainActivity.findViewById(R.id.editext_panel);
webEditTextPanel.removeAllViews();
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(area.width(), area.height());
lp.leftMargin = area.left;
lp.topMargin = area.top;
webEditTextPanel.addView(mWebEditText, lp);
mWebEditText.setVisibility(View.VISIBLE);
mWebEditText.setCursorVisible(false);
mWebEditText.setBackgroundColor(0x00FFFFFF); // If I do this the bounding rectangle is hidden but if we tap on top/left corner then we can see the edit box
mWebEditText.requestFocus();
imm.showSoftInput(mWebEditText, 0);
编辑文本定义:
<AbsoluteLayout android:id="@+id/editext_panel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="false" android:focusableInTouchMode="false" android:visibility="visible">
</AbsoluteLayout>
截屏: