ヒント(「名前」)があり、下線にヒントの長さが表示されますが、入力を開始するときに下線が入力する長さに従わないヒントよりも短いです。私は下線の長さを変える方法があるのだろうかと思っていましたか?EditTextのアンダーラインのAndroidの長さ
[] [] 3
ヒント(「名前」)があり、下線にヒントの長さが表示されますが、入力を開始するときに下線が入力する長さに従わないヒントよりも短いです。私は下線の長さを変える方法があるのだろうかと思っていましたか?EditTextのアンダーラインのAndroidの長さ
[] [] 3
このコードは、あなたが欲しいものを行う必要があります。私達は私達ののEditTextに焦点を当てたときに、私は、ハックを使用するので、
final EditText editText = (EditText) findViewById(R.id.edit_query);
final CharSequence rememberHint = editText.getHint();
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
if (!b && TextUtils.isEmpty(editText.getText())) {
editText.setHint(rememberHint);
} else {
editText.setHint("");
}
}
});
、またはそれを非フォーカスが、それは空ではない、私たちはそれからヒントを明確にし、それから私たちがそれに焦点を合わせ、それが空であれば、ヒントを戻す。
editText.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 (editable.length() != 0) {
editText.setHint("");
} else {
editText.setHint(rememberHint);
}
}
});
このほかに答えるために多くを提供しません:
また、あなたは、すべてのテキストをクリアしたときに、その場所にヒントを返すために、テキストウォッチャーを追加することができますが、それからの非フォーカスを更新し
ユーザーの観点からのデフォルトの動作
このリスナーを追加してください:
yourEditText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
// you can call or do what you want with your EditText here
youEditText.setHint("");
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});