1

我正在做远程管理项目我正在移动屏幕上获取远程 PC 的屏幕,但要发送键盘事件,我需要一个不可见的编辑文本和一个按钮,如果我删除编辑文本不可见性,它可以启用和禁用键盘,但编辑文本显示在屏幕上我不不想要那个

这是代码

<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则它可以工作

4

2 回答 2

3

你的意思是把这一切都隐藏起来?

您可以使用:

editText.setVisibility(View.GONE);

或者

editText.setVisibility(View.INVISIBLE);

编辑

试试这个:

editText.setBackgroundColor(color.transparent);
于 2013-07-03T07:44:17.863 回答
1

“隐藏”您的 EditText 的另一种简单方法是将其高度/宽度设置为 0dp,如下所示,以便用户看不到它。

            android:layout_width="match_parent"
            android:layout_height="0dp"
于 2016-03-21T10:08:31.270 回答