Desidero avere uno stile di carattere diverso per il suggerimento e lo stile del carattere per il testo digitato in edittext. Ad es. Diciamo che la dimensione del font suggerimento è 12 e il suo tipo normale. Ma quando l'utente inizia a digitare in edittext, la dimensione del carattere del testo digitato dovrebbe diventare 14 e in grassetto. di nuovo, se l'utente rimuove il testo, il suggerimento deve essere del tipo sopra indicato.Stile del font di suggerimento diverso e digitato nello stile di carattere del testo android
6
A
risposta
4
È possibile modificare a livello di codice il colore suggerimento per renderlo diverso da stile del carattere digitato in EditText utilizzando il seguente codice
editTextId.setHintTextColor(Color.alpha(006666));
0
La risposta già data è corretta ma attualmente specificare un colore diverso è possibile anche nel File XML tramite l'attributo : textColorHint. Per esempio si potrebbe fare qualcosa di simile (supponendo che hai definito il tuo my_favourite_colour correttamente come una risorsa):
<EditText
... other properties here ...
android:textColorHint="@color/my_favourite_colour"
</EditText>
0
si può raggiungere utilizzando SpannableString
e MetricAffectingSpan
. Sarai in grado di modificare il font, la dimensione e lo stile del suggerimento.
1) Creazione di un oggetto personalizzato 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) Creare personalizzato MetricAffectingSpan
oggetto:
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) Usa:
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);
Problemi correlati
- 1. Cambia stile carattere
- 2. Android AppCompat 22.1.1 colore del testo predefinito e stile ActionMode
- 3. android: come cambiare lo stile del testo di modifica?
- 4. stile Android specificare pulsante del colore
- 5. Imposta la dimensione del font del titolo QGroupBox con i fogli di stile
- 6. LINQ - Stile di sintassi diverso, risultato diverso?
- 7. Android: cambia colore del testo disabilitato usando Tema/Stile?
- 8. Modifica del titolo dell'API di Google Chart e posizione dell'asse e impostazione dello stile del carattere?
- 9. Come modificare lo stile del carattere su ActionBarSherlock
- 10. Android: stile preferenza
- 11. Come modificare solo la dimensione del carattere per l'intero testo in stile in NSTextView
- 12. stile Android testo chiaro mancante, media, magro,
- 13. Definire InputBindings nello stile
- 14. Impostazione del carattere del suggerimento in TextEdit
- 15. Pulsante di stile diverso applicato quando premuto
- 16. Flash di contenuto senza stile in IE con @ font-face
- 17. Stile corpo del testo in un href mailto link
- 18. Stile del menu popup in Android 5.0
- 19. JavaScript - aggiunta di stile al testo del log della console
- 20. Ottieni un nome di font basato su Nome carattere e Stile (Grassetto/Corsivo)
- 21. Cambiare le dimensioni e lo stile del font in Visual Studio 2008
- 22. ggplot2: Stile carattere nell'espressione etichetta
- 23. Titolo di preferenza Android/stile di testo riassunto
- 24. ngStile di stile con tasto del trattino
- 25. wicked_pdf: altezza del piè di pagina/stile
- 26. ios swift: è possibile modificare lo stile del carattere di una determinata parola in una stringa?
- 27. Stile testo su TabLayout
- 28. wp_enqueue_style e rel diverso dal foglio di stile?
- 29. Come impostare la dimensione del font suggerimento jqueryui
- 30. stile item listview android?