关于EditText点击enter键会出现换行的解决方式
来源:互联网 发布:淘宝网桌面图标 编辑:程序博客网 时间:2024/05/21 12:26
情形1: 如图
解释:
进入页面是左图的效果, 但是当连续多次点击enter键, 就出现了右图的效果, 即edit出现了换行 , 但是一般来说账号密码这些页面的Edit只需要一行就足够了 , 所以出现这种情形用户体验是很糟糕的
解决方案:
在EditText的布局中, 添加一个属性即可
android:maxLines="1"
情形2:
还是上图, 假如在其他情形下, edit可以输出多行, 但是不需要点击enter产生换行,而是exit自身根据判断字数是否进行换行,那么上面的解决方案不能解决问题, 而需要我们动态的判断, 我们拿到edit的对象进行监听
/***
* setOnEditorActionListener(),并不是在我们点击EditText的时候触发,
* 也不是在我们对EditText进行编辑时触发,而是在我们编辑完之后点击软键盘
* enter键才触发,如果我们手动修改默认返回值为true,就可以屏蔽enter功能
* 根据观察,微信的输入操作就是这样的,不管有无内容,都禁止enter换行,如果存在输入内容,
* 点击enter发送出去,然后将edit置空, 这其实就是我们根据需求进行的业务操作
*/
private void initEdit3() {
final TextView tv = (TextView) findViewById(R.id.custom_view_ac_text);
final EditText edit3 = (EditText) findViewById(R.id.custom_view_ac_edit3);
edit3.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
//如果要自己消耗该点击事件的话就返回true,否则返回false
if (!TextUtils.isEmpty(edit3.getText())) {
edit3.setSelection(edit3.getText().length());//保持光标在输入框最后
//tv显示edit的内容
if (TextUtils.isEmpty(tv.getText())) {
tv.setText(edit3.getText().toString().trim());
} else {
tv.append("," + edit3.getText().toString().trim());
}
edit3.setText("");
}
return true;//修改默认值为true,自己消费该事件
}
});
阅读全文
0 0
- 关于EditText点击enter键会出现换行的解决方式
- android EditText的自动换行和对Enter键的改变
- 关于SlidingMenu有EditText会出现闪屏的解决办法
- TextFiled enter键换行的问题
- Android EditText 的<requestFocus />用于点击tab键或enter键焦点自动进入下一个输入框
- 关于chrome下input中Enter的keydown事件会自动提交form的疑问与解决
- 关于chrome下input中Enter的keydown事件会自动提交form的疑问与解决
- enter键发送,ctrl+enter换行
- android 捕获Enter键的点击事件
- ViewGroup setVisibility 为GONE 子View依然占用地方,其中的子EditText会出现点击焦点占用
- enter键代替点击
- 解决关于EditText输入框监听回车键enter时光标焦点不稳定问题
- android editText 软键盘enter键图标的设置
- android editText 软键盘enter键图标的设置
- android editText 软键盘enter键图标的设置
- android editText 软键盘enter键图标的设置
- android editText 软键盘enter键图标的设置
- android edittext 点击回车会响应两次的解决方案
- 普通IO模拟i2c总线
- 数据库内连接与外连接
- java-rabbitmq-官网实例02
- Axure安装
- IO流之对象序列化(Serializable接口和Externalizable接口)
- 关于EditText点击enter键会出现换行的解决方式
- matlab中批量读取图像序列并进行简单目标跟踪
- Sublime Text 3 快捷键汇总
- XCode8新的功能
- ipv4 地址段 笔记
- ArcGIS Server创建集群
- 错动分组并求平均值
- Python datetime标准库的使用
- 【数据结构】STL中的vector和list