J'ai un EditText
. J'aimerais redimensionner le texte à l'intérieur de l'écran de l'utilisateur. EditText
si la longueur du texte est supérieure à 10, par exemple.
Comment faire ?
Merci. J'apprécie !
J'ai un EditText
. J'aimerais redimensionner le texte à l'intérieur de l'écran de l'utilisateur. EditText
si la longueur du texte est supérieure à 10, par exemple.
Comment faire ?
Merci. J'apprécie !
Cela devrait faire l'affaire :
final EditText et = (EditText) findViewById(R.id.editTextId);
et.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(et.getText().length()>10) {
et.setTextSize(newValue);
} else {
et.setTextSize(oldValue);
}
return false;
}
});
Vous préférerez peut-être utiliser un TextWatcher plutôt qu'un OnKeyListener (qui cible évidemment les touches matérielles) :
final float size1 = 30, size2 = 15;
final EditText edit = new EditText(this);
edit.setTextSize(size1);
edit.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(s.length() > 10) {
edit.setTextSize(size2);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.