仅当用户单击编辑文本框以插入文本时如何显示键盘?

时间:2018-07-31 10:17:31

标签: android android-studio

<EditText
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:drawableLeft="@drawable/search"
    android:background="@drawable/search_bar"
    android:paddingLeft="15dp"
    android:drawablePadding="10dp"
    android:inputType="text"
    android:id="@+id/srchbar"
    android:onClick="searchBarClick">
</EditText>
public void searchBarClick(View view){

}

我有一个编辑文本框和onClick函数。请告诉用户仅在用户单击编辑文本框以插入数据时如何显示键盘。在正常情况下,键盘在我运行我的应用程序时出现,但我只希望在以下情况下显示它:用户单击edittext框。

2 个答案:

答案 0 :(得分:1)

将此以下代码添加到布局的根元素中。

 <LinearLayout
     android:layout_width="0px"
     android:layout_height="0px"
     android:focusable="true"
     android:focusableInTouchMode="true" />

答案 1 :(得分:0)

editText.postDelayed(new Runnable() {
    @Override
    public void run() {
        InputMethodManager imm = (InputMethodManager)getSystemService(
        Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
        }
    }, 50);

有时,手动隐藏软键后,edittext可能会成为焦点。

因此,延迟一段时间,然后将其强行隐藏在您的活动或片段的onResume()方法中