我正在做远程管理项目 我在移动屏幕上看到远程PC的屏幕但是要发送键盘事件我需要一个看不见的edittext和一个启用和禁用键盘的按钮 如果我删除edittext隐形它可以工作,但edittext显示在屏幕上我不想那样
这是代码
<EditText
android:id="@+id/KeyBoard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:focusable="true"
android:inputType="textVisiblePassword"
android:text=""
android:visibility="invisible" >
</EditText>
通过将焦点设置在隐藏文本字段
来显示和隐藏键盘public void keyClickHandler(View v) {
EditText editText = (EditText) findViewById(R.id.KeyBoard);
editText.requestFocus();
InputMethodManager inputMgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (keyboard) {
inputMgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);
keyboard = false;
} else {
inputMgr.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
keyboard = true;
}
Log.d("SET", "Foucs");
}
点击按钮时调用此方法
如果我从android:visibility="invisible"
移除edittext
,那么它可以正常工作
答案 0 :(得分:3)
你的意思是隐藏它吗?
你可以使用:
editText.setVisibility(View.GONE);
或
editText.setVisibility(View.INVISIBLE);
修改强>
试试这个:
editText.setBackgroundColor(color.transparent);
答案 1 :(得分:1)
另一种“隐藏”EditText的简单方法是将其高度/宽度设置为0dp,如下所示,以便用户看不到它。
android:layout_width="match_parent"
android:layout_height="0dp"