Android EditText 软键盘上回车改为搜索

  • 如果布局文件中只有一个EditText。可以设置EditText 的
    android:singleLine=”true”
    android:imeOptions=”actionDone”
    就可以了。
<EditText
        android:id="@+id/edittext_done"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="action_done"
        android:imeOptions="actionDone"
        android:singleLine="true" />
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这时候在输入完成后,点击软键盘的回车键,软键盘就会自动隐藏。

这里写图片描述

  • 如果布局文件中有多个EditText,前面的EditText 的设置
    android:imeOptions=”actionNext”,android:singleLine=”true”
    ,然后最后一个EditText 设置android:imeOptions=”actionDone”,android:singleLine=”true” 在前面的EditText,输入的完成后回车键就会变成“下一步”,最后一个EditText输入完成后,点击回车键,软键盘就会隐藏。

这里写图片描述


Android 软键盘回车功换成搜索功能

  • 首先在布局文件里给EditText添加属性,android:imeOptions=”actionSearch”
  • EditText添加监听Enter事件
public class InputFirstActivity extends AppCompatActivity {

    @BindView(R.id.edittext_search)
    EditText edittextSearch;
    InputMethodManager manager;//输入法管理器

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_input_first);
        ButterKnife.bind(this);
        manager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
        search();
    }

    private void search() {
        edittextSearch.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) {
                    //先隐藏键盘
                    if (manager.isActive()) {
                        manager.hideSoftInputFromWindow(edittextSearch.getApplicationWindowToken(), 0);
                    }
                    //自己需要的操作
                    Toast.makeText(InputFirstActivity.this, "hello 2017!", Toast.LENGTH_SHORT).show();
                }
                //记得返回false
                return false;
            }
        });
    }


}

    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

这里写图片描述


参考链接:
【1】:https://yq.aliyun.com/articles/50313
【2】:http://blog.csdn.net/mrzhang_happy/article/details/48435211

  • 如果布局文件中只有一个EditText。可以设置EditText 的
    android:singleLine=”true”
    android:imeOptions=”actionDone”
    就可以了。
<EditText
        android:id="@+id/edittext_done"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="action_done"
        android:imeOptions="actionDone"
        android:singleLine="true" />
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这时候在输入完成后,点击软键盘的回车键,软键盘就会自动隐藏。

这里写图片描述

  • 如果布局文件中有多个EditText,前面的EditText 的设置
    android:imeOptions=”actionNext”,android:singleLine=”true”
    ,然后最后一个EditText 设置android:imeOptions=”actionDone”,android:singleLine=”true” 在前面的EditText,输入的完成后回车键就会变成“下一步”,最后一个EditText输入完成后,点击回车键,软键盘就会隐藏。

这里写图片描述


Android 软键盘回车功换成搜索功能

  • 首先在布局文件里给EditText添加属性,android:imeOptions=”actionSearch”
  • EditText添加监听Enter事件
public class InputFirstActivity extends AppCompatActivity {

    @BindView(R.id.edittext_search)
    EditText edittextSearch;
    InputMethodManager manager;//输入法管理器

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_input_first);
        ButterKnife.bind(this);
        manager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
        search();
    }

    private void search() {
        edittextSearch.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) {
                    //先隐藏键盘
                    if (manager.isActive()) {
                        manager.hideSoftInputFromWindow(edittextSearch.getApplicationWindowToken(), 0);
                    }
                    //自己需要的操作
                    Toast.makeText(InputFirstActivity.this, "hello 2017!", Toast.LENGTH_SHORT).show();
                }
                //记得返回false
                return false;
            }
        });
    }


}

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

这里写图片描述


参考链接:
【1】:https://yq.aliyun.com/articles/50313
【2】:http://blog.csdn.net/mrzhang_happy/article/details/48435211

猜你喜欢

转载自blog.csdn.net/qq_21937107/article/details/80228020