开发者

Android: Remove Enter Key from softkeyboard

开发者 https://www.devze.com 2023-03-26 15:55 出处:网络
In my login form when user clicks on an Ed开发者_JAVA技巧itText and presses the enter key, this inserts a new line, therefore increasing the EditText\'s size. Next moment, it returns to its previous p

In my login form when user clicks on an Ed开发者_JAVA技巧itText and presses the enter key, this inserts a new line, therefore increasing the EditText's size. Next moment, it returns to its previous place and prints a dot in the password field (which is the next field).

I want to remove this enter key from the softkeyboard. Is it possible?


Use : android:singleLine = "true" or edittext.setSingleLine();

And your ENTER key is gone


add this tag to textView in xml

    android:singleLine = "true"


I am afraid you can't do this. But one thing is you can handle the softkeyboard keyevents like this,

edittext.setOnKeyListener(new OnKeyListener() {

        public boolean onKey(View v, int keyCode, KeyEvent event) {


                if (event.getAction() == KeyEvent.ACTION_DOWN
                        && event.getKeyCode() ==       KeyEvent.KEYCODE_ENTER) {
                    Log.i("event", "captured");

                    return false;
                } 
                else if(event.getAction() == KeyEvent.ACTION_DOWN
                        && event.getKeyCode() == KeyEvent.KEYCODE_BACK){
                    Log.i("Back event Trigered","Back event");

                }

            }

            }
            return false;
        }
    });

Apart from this, you have to note that providing the attribute android:singleLine=true will make your edittext from growing in size when the soft keyborad ENTER is pressed


Inside the tag EditText you only have to do:

android:singleLine="true"

this remove the enter key in the keyboard

UPDATE

Inasmuch as android:singleLine="true" is deprecated I use android:maxLines="1" to avoid the enter in a EditText. How the name of the method says only N lines is permitted.


New update :

android:maxLines="1"


If you want something more generic in your .java:

boolean state = true; yourTextInputEditText.setSingleLine(state);

0

精彩评论

暂无评论...
验证码 换一张
取 消