
如图片所示,这个EditText的hint提示是在中间,但如果点击,则文字输入的焦点在输入框的最左边开始,
请问这个是如何实现?最好给代码提示,谢谢了。
------解决思路----------------------
那输入的内容是靠左侧的吗?默认居中对齐,当获取焦点时左对齐,输入框有内容时左对齐。示例代码
cityEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus){
cityEditText.setGravity(Gravity.LEFT);
}else {
if (TextUtils.isEmpty(cityEditText.getText())) {
cityEditText.setGravity(Gravity.CENTER);
}else{
cityEditText.setGravity(Gravity.LEFT);
}
}
}
});
xml文件中默认为android:gravity="center"
------解决思路----------------------
可以在XML文件中设置gravity="center", 然后在代码里设置edittext的OnFocusChangeListener当获得焦点的时候设置Gravity.LEFT, 失去焦点的时候再设置为Gravity.CENTER.