Cómo reducir EditText
¿Indicar tamaño?Android EditText Sugerencia Tamaño
Respuesta
Puede reducir el tamaño de fuente en el EditText
, lo que reducirá el tamaño del hint
también. es decir, android:textSize="16sp"
¡Gracias, me salvaste algunos dolores de cabeza! :) – peterkodermac
¡Me alegro de poder ayudar! :) – inky
Gran respuesta en lugar de todo esto Trabajo alrededor: D – Tony
También tuve que hacer esto porque mi pista no encajaba en EditText en el tamaño estándar. Así que hice esto (en el conjunto xml TEXTSIZE a mHintTextSize):
MYEditText.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int start, int before,
int count) {
if (arg0.length() == 0) {
// No entered text so will show hint
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, mHintTextSize);
} else {
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, mRealTextSize);
}
}
});
¿Qué es EVSearchTerm? – MGDroid
@EVSearchTerm es su referencia de edittext. nombrando la convención abandonada. – Javanator
Este enfoque funciona. El problema del SDK de Android aquí es que el tamaño de texto de programación se ignora por completo para el tamaño de texto de sugerencia. Por otro lado, esto permite simplificar el enfoque de longhairedsi. En lugar de agregar un 'TextWatcher', simplemente puede llamar' editText.setTextSize (TypedValue.COMPLEX_UNIT_SP, mRealTextSize); 'inmediatamente. Sin embargo, la solución de longhairedsi podría ser más segura en el futuro. Tengo curiosidad si este problema se solucionará en las versiones más recientes de SDK. –
Puede establecer los atributos HTML simple a la propia cadena de pista.
Ver respuesta aceptada aquí: Android EditText hint
EDIT: Acabo de jugar con él mismo, esto funcionó para mí:
view.setHint(Html.fromHtml("<small><small><small>" +
getString(R.string.hint) + "</small></small></small>"));
Ésta es una lista de etiquetas aceptadas por fromHtml: http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html (aunque no funcionó para mí)
es fácil de reducir el tamaño de sugerencia del texto de edición
editText.setHint(Html.fromHtml(
"<font size=\"5\">" + "hinttext1" + "</font>" +
"<small>" + "hinttext2" + "</small>"));
@marmor 's Approach es el mejor. Puede modificar el número de etiquetas <small> --- </small>
para ajustar el tamaño.
También puede definir el texto de sugerencia directamente como lo hice
view.setHint(Html.fromHtml("<small><small><small>" + "This is Hint" + "</small></small></small>"));
Esperamos que esto ayude.
Si desea hacerlo mediante programación,
SpannableString span = new SpannableString(strHint);
span.setSpan(new RelativeSizeSpan(0.5f), 0, strHint.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
editText.setHint(span);
solución user2982553 's @ funciona muy bien para mí. También puede usar AbsoluteSizeSpan
, con el cual puede establecer el tamaño de letra exacto de la sugerencia. No use la etiqueta <font size=\"5\">
, porque el atributo size
simplemente se ignora.
Puede hacerlo configurando un tamaño en el recource de cadena.
Por ejemplo:
<string name="edittext_hint"><font size="15">Hint here!</font></string>
entonces en su XML acaba de escribir
android:hint="@string/edittext_hint"
Esto resault en un texto más pequeño por la pista, pero el tamaño original para el texto de entrada.
espera que esta ayuda para los futuros lectores
¿Cómo especificar la dimensión '' sp'' para el atributo '' size''? –
funciona como un amuleto –
Como no está especificando la dimesión como sp aquí, ¿no sería un problema en un tamaño de pantalla diferente? No encuentro ninguna forma de establecer el tamaño de sugerencia a través del diseño xml sin causar problemas cuando cambian las dimensiones –
que necesitan establecer un tamaño más grande para el texto real que toque.
public static class LargeSizeTextWatcher implements TextWatcher {
private final EditText mEditText;
private final int mOriginalSize;
private final int mLargeSize;
private int mLastLength;
TrackingNumberTextWatcher(EditText editText) {
mEditText = editText;
mOriginalSize = (int) editText.getTextSize();
mLargeSize = editText.getResources().getDimensionPixelSize(R.dimen.text_size_large);
mLastLength = editText.length();
if (mLastLength != 0) {
mEditText.setTextSize(TypedValue.COMPLEX_UNIT_PX, mLargeSize);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
int length = s.length();
if (length == 0) {
mEditText.setTextSize(TypedValue.COMPLEX_UNIT_PX, mOriginalSize);
} else if (mLastLength == 0) {
mEditText.setTextSize(TypedValue.COMPLEX_UNIT_PX, mLargeSize);
}
mLastLength = length;
}
}
Puede cambiar no solo el tamaño de una pista, sino también su fuente y estilo.He conseguido resolverlo utilizando SpannableString
y MetricAffectingSpan
1) Crear un objeto personalizado Hint
:
import android.graphics.Typeface;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.MetricAffectingSpan;
public class CustomHint extends SpannableString
{
public CustomHint(final CharSequence source, final int style)
{
this(null, source, style, null);
}
public CustomHint(final CharSequence source, final Float size)
{
this(null, source, size);
}
public CustomHint(final CharSequence source, final int style, final Float size)
{
this(null, source, style, size);
}
public CustomHint(final Typeface typeface, final CharSequence source, final int style)
{
this(typeface, source, style, null);
}
public CustomHint(final Typeface typeface, final CharSequence source, final Float size)
{
this(typeface, source, null, size);
}
public CustomHint(final Typeface typeface, final CharSequence source, final Integer style, final Float size)
{
super(source);
MetricAffectingSpan typefaceSpan = new CustomMetricAffectingSpan(typeface, style, size);
setSpan(typefaceSpan, 0, source.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
}
2) Crear la costumbre MetricAffectingSpan
objeto:
import android.graphics.Typeface;
import android.text.TextPaint;
import android.text.style.MetricAffectingSpan;
public class CustomMetricAffectingSpan extends MetricAffectingSpan
{
private final Typeface _typeface;
private final Float _newSize;
private final Integer _newStyle;
public CustomMetricAffectingSpan(Float size)
{
this(null, null, size);
}
public CustomMetricAffectingSpan(Float size, Integer style)
{
this(null, style, size);
}
public CustomMetricAffectingSpan(Typeface type, Integer style, Float size)
{
this._typeface = type;
this._newStyle = style;
this._newSize = size;
}
@Override
public void updateDrawState(TextPaint ds)
{
applyNewSize(ds);
}
@Override
public void updateMeasureState(TextPaint paint)
{
applyNewSize(paint);
}
private void applyNewSize(TextPaint paint)
{
if (this._newStyle != null)
paint.setTypeface(Typeface.create(this._typeface, this._newStyle));
else
paint.setTypeface(this._typeface);
if (this._newSize != null)
paint.setTextSize(this._newSize);
}
}
3) Uso :
Typeface newTypeface = Typeface.createFromAsset(getAssets(), "AguafinaScript-Regular.ttf");
CustomHint customHint = new CustomHint(newTypeface, "Enter some text", Typeface.BOLD_ITALIC, 60f);
// CustomHint customHint = new CustomHint(newTypeface, "Enter some text", Typeface.BOLD_ITALIC);
// CustomHint customHint = new CustomHint(newTypeface, "Enter some text", 60f);
// CustomHint customHint = new CustomHint("Enter some text", Typeface.BOLD_ITALIC, 60f);
// CustomHint customHint = new CustomHint("Enter some text", Typeface.BOLD_ITALIC);
// CustomHint customHint = new CustomHint("Enter some text", 60f);
customEditText.setHint(customHint);
- 1. Android EditText Sugerencia
- 2. android EditText android: textDirection
- 3. Android EditText Max Length
- 4. Android: múltiples campos EditText en el tamaño de ventana
- 5. ¿Cómo hacer que la sugerencia de EditText no se ajuste?
- 6. android: cómo rellenar Edittext?
- 7. android editText max limit
- 8. Edittext enfoque automático android
- 9. Android EditText y addTextChangedListener
- 10. Android: EditText en ListView
- 11. Android Edittext- Clearing Spans
- 12. Android EditText onClickListener
- 13. Android Edittext cursor invisible
- 14. Android EditText inserting
- 15. Edittext en Listview android
- 16. android edittext onchange listener
- 17. Android nueva línea en mi EditText
- 18. Mostrando edittext oblicuamente en android
- 19. Android autocompletar EditText del servidor
- 20. EditText en el diálogo android
- 21. Android: ¿Cómo resaltar EditText programmatically?
- 22. Android getText del campo EditText
- 23. Android - valor predeterminado en editText
- 24. android ajustar tamaño famoso problema
- 25. Estilo de fuente de sugerencia diferente y escrito en estilo de fuente de texto android
- 26. Android - Custom AutoCompleteTextView CursorAdaptor - Comportamiento de sugerencia
- 27. Android Searchview con sugerencia de fondo
- 28. Android: ¿Cómo cambiar el tamaño de texto en un campo EditText?
- 29. Android - EditText en la notificación de estado
- 30. ¿Quitar el filtro de EditText en Android?
Creo que no hay necesidad de cambiar el tamaño de la pista. ¿Por qué quieres hacer eso? – Praveen
Sugerencia El tamaño de la fuente es muy grande ... Por lo tanto, necesito reducir 2sp. – Sasikumar
Tuve el mismo problema. Estamos implementando una aplicación de marcador para que los números marcados puedan ser bastante grandes, mientras que el texto de sugerencia debe ser más pequeño para adaptarse a todo. ¡Gracias a @Jeka por la solución! – Bradford2000