Вы можете сделать это программно, в коде Java.Например:
final EditText editTxt = (EditText) findViewById(R.id.my_edit_text);
editTxt.setGravity(Gravity.CENTER_HORIZONTAL);
editTxt.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() != KeyEvent.ACTION_UP) return false;
if (editTxt.getText().length() > 1) return false;
if (editTxt.getText().length() == 1) {
editTxt.setGravity(Gravity.LEFT);
}
else {
editTxt.setGravity(Gravity.CENTER_HORIZONTAL);
}
return false;
}
});
Не пропустите слово «окончательный».Это делает ваш textView видимым в коде слушателя.
Вместо ключевого слова 'final' вы можете привести `View v` к` TextView` в методе 'onKey'.
Обновлено 9 марта 2012 года:
В таком случае вы можете удалить `onKeyListener` и написать` onFocusChangeListener`
Вот код:
editTxt.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
editTxt.setGravity(Gravity.LEFT);
}
else {
if (editTxt.getText().length() == 0) {
editTxt.setGravity(Gravity.CENTER_HORIZONTAL);
}
}
}
});