如何在EditText聚焦时隐藏IME

时间:2017-09-01 01:52:08

标签: java android wear-os ime

我希望EditText在专注于Android Wear时不要扩展IME。 我以与以下线程相同的方式阅读和实现: Prevent EditText from automatically focusing

然而,IME出现了。 是否无法在Android Wear上隐藏EditText的IME?

我尝试了3种方法:

  1. 在onCreate()方法中添加了以下代码:

    {getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);}
    
  2. 在AndroidManifest.xml中的activity标记中添加了以下代码

    android:windowSoftInputMode="stateAlwaysHidden"
    
  3. 在rect_activity_main.xml

    中添加了以下代码
    <LinearLayout
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="@android:color/transparent"
    android:focusable="true" android:focusableInTouchMode="true"/>
    
  4. 他们都没有工作。

    最好的问候,gellpro

1 个答案:

答案 0 :(得分:0)

检查Show the Input Method On Demand。注意,当用户在测试字段中完成任务时系统隐藏输入方法,或者用户可以使用系统控件隐藏它。有了这个,请尝试specify how your UI should respond。它提到了,

  

要在活动中声明您的首选待遇,请使用清单元素中的android:windowSoftInputMode属性并使用其中一个“调整”值。

然后,要实现隐藏IME,请尝试使用常量设置为RESULT_UNCHANGED_HIDDEN的{​​{3}}。这将标记来自ResultReceivershowSoftInput(View, int, ResultReceiver)的{​​{1}}结果代码:软输入窗口的状态未更改并保持隐藏状态。

希望有所帮助。