Android - jeu TextView TextStyle par programmation?
Est-il un moyen de régler le textStyle
attribut d'une TextView
par programmation? Il ne semble pas être un setTextStyle()
méthode.
Pour être clair, je ne parle pas de la Vue /styles de Widget! Je veux parler est la suivante:
<TextView
android:id="@+id/my_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World"
android:textStyle="bold" />
- vous pouvez référencer lien ci-dessous, et le haut de verrouillage 1 réponse stackoverflow.com/questions/6200533/...
- Veuillez vérifier mes réponse ici. Espérons que cela vous aidera
Vous devez vous connecter pour publier un commentaire.
setTypeface est l'Attribut textStyle.
Comme Shankar V ajoutée, afin de préserver l'définie précédemment police les attributs que vous pouvez utiliser:
textview.setTypeface(textview.getTypeface(), Typeface.DEFAULT_BOLD);
textview.getTypeface().getStyle()
estandroid:textStyle
Disons que vous avez un style appelé RedHUGEText sur votre values/styles.xml:
Il suffit de créer votre TextView comme d'habitude dans le XML layout/your_layout.xml fichier, disons:
Et dans le code java de votre Activité que vous faites cela:
Il a travaillé pour moi! Et il a appliqué la couleur, la taille, la gravité, etc. Je l'ai utilisé sur les téléphones mobiles et les tablettes avec Android API Niveaux à partir de 8 à 17 ans sans problèmes.
Rappelez-vous... c'est utile seulement si le style du texte dépend vraiment une condition sur votre Java logique ou que vous êtes à la construction de l'INTERFACE utilisateur "à la volée" avec le code... si il ne le fait pas, il est préférable de faire:
Vous pouvez toujours avoir votre chemin!
Espère que cela aide!
<style>
tag. Il ne le commun (taille, couleur, style), mais ne s'applique pas à d'autres (y compris remplissage, d'arrière-plan, la gravité, etc)De recherche pour
setTextAppearance
ou aussisetTextTypeface
. Il y est même question sur stackoverflow: Comment changer un TextView du style au moment de l'exécutionDonc beaucoup de chemin à accomplir cette tâche, certains sont ci-dessous:-
1.
2.
3.
4.
ou si tu veux par xml
Cette question est posée dans beaucoup d'endroits dans beaucoup de différentes manières. J'ai d'abord répondu ici, mais je pense que c'est pertinent dans ce fil comme bien (depuis que j'ai fini par ici quand j'étais à la recherche d'une réponse).
Il n'existe pas de ligne de solution à ce problème, mais cela a fonctionné pour mon cas d'utilisation. Le problème est, 'View(context, attrs, defStyle) constructeur ne fait pas référence à un style réel, il veut un attribut. Donc, nous allons:
Dans 'res/values/attrs.xml', de définir un nouvel attribut:
Dans res/values/styles.xml " je vais créer le style que je veux utiliser sur mon custom TextView
Dans 'res/values/themes.xml" ou "res/values/styles.xml', de modifier le thème de votre application /activité et ajouter du style suivant:
Enfin, dans votre personnalisé TextView, vous pouvez maintenant utiliser le constructeur avec l'attribut et vous recevrez votre style
Il est intéressant de noter que j'ai utilisé à plusieurs reprises customTextView en différentes variantes et différents endroits, mais il n'est pas nécessaire que le nom de la vue correspondre au style ou à l'attribut ou quoi que ce soit. Aussi, cette technique fonctionne avec n'importe quel affichage personnalisé, et pas seulement TextViews.
•
Kotlin Version
Afin de conserver de la police en plus de style de texte:
Cela a fonctionné pour moi
ou
Ive résolu à l'aide de deux méthodes simples.
Suivre les explications.
Mon style de déclaration:
Mon Android code Java:
Ce qui concerne.
Comme mentionné ici, cette fonctionnalité n'est actuellement pas pris en charge.