2017-06-23 4 views
0

Je veux donner du style au texte tout en tapant edittext, par exemple rendre le texte gras ou italique. Je sais comment faire cela après avoir tapé et sélectionné une partie du texte avec l'aide de spannable, mais je veux le faire en tapant. Par exemple, après avoir cliqué sur un bouton en gras, tout ce que je tape est en gras. Quelqu'un peut-il me donner un indice?Écrire du texte avec le style (gras, italique) dans Android EditText

+0

Je vous suggère de faire une recherche et d'essayer du code avant de demander, mais je vais vous donner un indice . Vous pouvez utiliser textView.setTypeface (null, Typeface.BOLD_ITALIC); textView.setTypeface (null, Typeface.BOLD); textView.setTypeface (null, Typeface.ITALIC); textView.setTypeface (null, Typeface.NORMAL); –

+0

@FadySaad Je sais comment faire cela, mais c'est après avoir sélectionné une partie du texte et rendre cette partie par exemple en gras avec ces méthodes et encore définir le texte que. Je veux le faire en tapant. –

Répondre

0

vous pouvez essayer de le faire dans le code comme ceci:

TextView textView=(TextView)findViewById(R.id.your_textView_id); 
SpannableString spanString = new SpannableString(tempString); 
spanString.setSpan(new UnderlineSpan(), 0, spanString.length(), 0); 
spanString.setSpan(new StyleSpan(Typeface.BOLD), 0, spanString.length(), 0); 
spanString.setSpan(new StyleSpan(Typeface.ITALIC), 0, spanString.length(), 0); 
textView.setText(spanString); 

vous pouvez essayer ces derniers dans le clic d'écoute d'un bouton pour changer une teneur en edittext et après l'invalider

Vous pouvez faire :

((EditText) mView.findViewById(R.id.your_edittext)).addTextChangedListener(new TextWatcher() { 
    @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) { 

    } 
}); 

par ce tout moment au cours de la textos vous pouvez le faire

+0

Merci pour votre réponse. Mais comme je l'ai mentionné, je veux le faire en tapant, pas après. –

+0

Je ne sais pas exactement ce que vous voulez mais j'ai édité ma réponse, si ça ne sert à rien, dites-moi, – Meikiem

-1

Il suffit d'utiliser android:textStyle="bold" ou "italic" selon vos besoins et c'est fait. Et si vous voulez le mettre en gras ou en italique après avoir appuyé sur un bouton. Ensuite, faites une méthode dans laquelle vous mentionnez quelque chose comme edittext.setOnClickListener et à l'intérieur qui utilisent l'ID du texte d'édition et utilisez les attributs edittext.setTypeface(null, Typeface.BOLD);