Android开发EditText 光标仿ios,默认在最后面,点击整栏也在最后面,点击文本光标在对应位置

释放双眼,带上耳机,听听看~!

最近有个需求,要求edit的光标在默认在最右端

点击联系人或者联系方式整栏,首先也是作为选中状态,光标依然要在最后面

当点击文本中间,光标移动到文本中间.

针对这个需求,按网上的方法,更改了一部分的判断

public class LastInputEditText extends android.support.v7.widget.AppCompatEditText {
public LastInputEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setSelection(getText().length());
}
public LastInputEditText(Context context, AttributeSet attrs) {
this(context, attrs, android.support.v7.appcompat.R.attr.editTextStyle);
}
public LastInputEditText(Context context) {
this(context, null);
}
@Override
protected void onSelectionChanged(int selStart, int selEnd) {
super.onSelectionChanged(selStart, selEnd);
//光标首次获取焦点是在最后面,之后操作就是按照点击的位置移动光标
if (isEnabled() && hasFocus() && hasFocusable()) {
if (selStart==0){
setSelection(getText().length());
}else {
setSelection(selEnd);
}
} else {
setSelection(getText().length());
}
}
}

亲测可用,直接采用此自定义控件即可.

人已赞赏
Android文章

Android开发Error: Cannot find module 'chalk' 或Cannot find module 'semver'报错

2020-3-8 11:21:39

Android文章

Android CRC-CCITT(XMODEM)(循环冗余校验)

2020-3-8 12:25:22

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索