@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditText = findViewById(R.id.et);
// 如下是内容为空的配置,需要两个属性结合使用;如果有默认值,进行相反的配置
// 设置文字的对齐方式
mEditText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
// 设置文本的显示方向
mEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
mEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
@Override
public void afterTextChanged(Editable editable) {
if (TextUtils.isEmpty(editable.toString())) {
mEditText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
mEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
} else {
mEditText.setGravity(Gravity.END | Gravity.CENTER_VERTICAL);
mEditText.setTextDirection(View.TEXT_DIRECTION_LTR);
这样应该就解决了兼容性的问题了,效果如下: