如何故意在EditText中转到新行?

Yog*_*ani 5 android android-edittext

我正在创建一个提供聊天功能的应用程序.屏幕上有一个EditText,我在其上设置了OnKeyListener.每当用户在键入消息后按"Enter"键时,消息就会在屏幕上显示.它工作正常.这是我的EditText:

<EditText android:id="@+id/chatMessageField"
    android:layout_height="wrap_content" android:layout_width="fill_parent"
    android:layout_gravity="center_horizontal|center_vertical"
    android:layout_marginRight="5dip" android:layout_marginLeft="5dip"
    android:maxLines="2" android:minLines="1" android:scrollbars="vertical"
    android:hint="@string/chatMessageHintText" android:textColorHint="#3b64a8">
</EditText>
Run Code Online (Sandbox Code Playgroud)

问题是当用户想要在EditText包装文本并转到新行之前转到新行.现在,如果用户想要转到新行并按"Enter"键,则会发送消息.

在一些聊天消息中,我已经看到按下"Shift + Enter"(或任何其他键组合)同时将用户带到新行.我们如何检测Android中同时按下的"Shift + Enter"(或任何其他键组合)键?有没有办法在Android中实现此功能?

Var*_*noi 5

试试吧......这可能有所帮助.

将EditText的输入设置为

youredittext.setInputType(EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE);
Run Code Online (Sandbox Code Playgroud)

然后加:

android:singleLine="false"
Run Code Online (Sandbox Code Playgroud)

要么

youredittext.setSingleLine(false);
Run Code Online (Sandbox Code Playgroud)

也请点击这里


小智 4

在您的OnKeyListener方法中,使用检查EnterShift Enter并分别提供Send和的单独功能New Line