Sous-titre et Superscript a String dans Android

Comment imprimer une chaîne avec un indice ou un indice? Pouvez-vous le faire sans une bibliothèque externe? Je veux que cela s'affiche dans un TextView dans Android.

  • Impossible d'exécuter une application avec des cartes sur un appareil Android exécutant 4.0.3 ICS
  • Gradle build Erreur: Cause: org.gradle.api.internal.ExtensibleDynamicObject
  • Android: AlertDialog provoque une fuite de mémoire
  • L'appareil Android ne s'affiche pas dans la liste des adb
  • Comment puis-je obtenir le nom d'utilisateur google sur Android?
  • OnListItemClick ne fonctionne pas pour listview?
  • Appcompat_v7: Erreur lors de la récupération du parent pour l'élément: Aucune ressource trouvée qui correspond au prénom
  • Comment signer un APK déjà compilé
  • Impossible de construire un projet Android avec Gradle (en utilisant les annotations Android)
  • Largeur en pourcentage dans un rapportLayout
  • Les priorités d'ajustement OOM (hors mémoire) de l'application Android pour les processus
  • Création d'une case à cocher de trois états sur Android
  • 12 Solutions collect form web for “Sous-titre et Superscript a String dans Android”

     ((TextView)findViewById(R.id.text)).setText(Html.fromHtml("X<sup>2</sup>")); 

    ou

    Tâches courantes et comment les faire dans Android

    Exemple:

     equation = (TextView) findViewById(R.id.textView1); SpannableStringBuilder cs = new SpannableStringBuilder("X3 + X2"); cs.setSpan(new SuperscriptSpan(), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); cs.setSpan(new RelativeSizeSpan(0.75f), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); cs.setSpan(new SuperscriptSpan(), 6, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); cs.setSpan(new RelativeSizeSpan(0.75f), 6, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); equation.setText(cs); 

    Pour toutes les personnes demandant, si vous voulez la rendre plus petite en plus de faire super ou subscript, il vous suffit d'ajouter une étiquette aussi. EX:

     "X <sup><small> 2 </small></sup>" 

    Si vous souhaitez définir l'indice de fichier string.xml, essayez ceci:

    Ressource de chaîne:

     <string name="test_string">X&lt;sup&gt;3&lt;/sup&gt;</string> 

    Si vous voulez que l'indice soit plus petit:

     <string name="test_string">X&lt;sup&gt;&lt;small&gt;3&lt;/small&gt;&lt;/sup&gt;</string> 

    Code:

     textView.setText(Html.fromHtml("Anything you want to put here"+getString(R.string.test_string))); 

    Il a fallu un peu plus tard, mais après, juste travailler bien, utilisez l'exposant en tant que personnage spécial, j'ai utilisé le char Spacial ici.

     <string name="str">H₂</string> 
     ((TextView)findViewById(R.id.text)).setText(Html.fromHtml("X<sup><small>2</small></sup>")); 

    (Ou) du fichier de ressource de chaîne:

     <string name="test_string"> <![CDATA[ X<sup><small>2</small></sup> ]]> </string> 

    J'ai trouvé cet article sur la façon d'utiliser un Spannable ou dans un fichier de ressource de chaîne: <sup> ou <sub> pour l'indice et l'indice, respectivement.

    Le HTML.fromHTML (String) a été obsolète à partir de l'API 24. Ils disent d'utiliser celui-ci à la place, ce qui supporte les indicateurs comme paramètre. Donc, pour quitter la réponse acceptée:

     TextView textView = ((TextView)findViewById(R.id.text)); textView.setText(Html.fromHtml("X<sup>2</sup>", Html.FROM_HTML_MODE_LEGACY)); 

    Et si vous voulez un code qui tient compte des API 24 avant 24:

     TextView textView = ((TextView)findViewById(R.id.text)); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { textView.setText(Html.fromHtml("X<sup>2</sup>", Html.FROM_HTML_MODE_LEGACY)); } else { textView.setText(Html.fromHtml("X<sup>2</sup>")); } 

    Cette réponse est dérivée de: https://stackoverflow.com/a/37905107/4998704

    Les drapeaux et autres documents peuvent être trouvés ici: https://developer.android.com/reference/android/text/Html.html

    La réponse Accepté est obsolète maintenant. Alors, passez ce code. Je l'ai obtenu sur un site Web. J'ai oublié le nom, mais de toute façon merci pour ce bon code de travail.

      SpannableString styledString = new SpannableString("Large\n\n" // index 0 - 5 + "Bold\n\n" // index 7 - 11 + "Underlined\n\n" // index 13 - 23 + "Italic\n\n" // index 25 - 31 + "Strikethrough\n\n" // index 33 - 46 + "Colored\n\n" // index 48 - 55 + "Highlighted\n\n" // index 57 - 68 + "K Superscript\n\n" // "Superscript" index 72 - 83 + "K Subscript\n\n" // "Subscript" index 87 - 96 + "Url\n\n" // index 98 - 101 + "Clickable\n\n"); // index 103 - 112 // make the text twice as large styledString.setSpan(new RelativeSizeSpan(2f), 0, 5, 0); // make text bold styledString.setSpan(new StyleSpan(Typeface.BOLD), 7, 11, 0); // underline text styledString.setSpan(new UnderlineSpan(), 13, 23, 0); // make text italic styledString.setSpan(new StyleSpan(Typeface.ITALIC), 25, 31, 0); styledString.setSpan(new StrikethroughSpan(), 33, 46, 0); // change text color styledString.setSpan(new ForegroundColorSpan(Color.GREEN), 48, 55, 0); // highlight text styledString.setSpan(new BackgroundColorSpan(Color.CYAN), 57, 68, 0); // superscript styledString.setSpan(new SuperscriptSpan(), 72, 83, 0); // make the superscript text smaller styledString.setSpan(new RelativeSizeSpan(0.5f), 72, 83, 0); // subscript styledString.setSpan(new SubscriptSpan(), 87, 96, 0); // make the subscript text smaller styledString.setSpan(new RelativeSizeSpan(0.5f), 87, 96, 0); // url styledString.setSpan(new URLSpan("http://www.google.com"), 98, 101, 0); // clickable text ClickableSpan clickableSpan = new ClickableSpan() { @Override public void onClick(View widget) { // We display a Toast. You could do anything you want here. Toast.makeText(MainActivity.this, "Clicked", Toast.LENGTH_SHORT).show(); } }; styledString.setSpan(clickableSpan, 103, 112, 0); // Give the styled string to a TextView spantext = (TextView) findViewById(R.id.spantext); // this step is mandated for the url and clickable styles. spantext.setMovementMethod(LinkMovementMethod.getInstance()); // make it neat spantext.setGravity(Gravity.CENTER); spantext.setBackgroundColor(Color.WHITE); spantext.setText(styledString); 

    Remarque: mettez toujours android:textAllCaps="false" de votre spantext.

    Ils s'appellent des caractères Unicode, et Android TextView prend en charge. Copiez le super / sous-script que vous voulez de ce Wiki: https://en.wikipedia.org/wiki/List_of_Unicode_characters#Superscripts_and_Subscripts

    Dans les fichiers strings.xml , vous pouvez simplement utiliser la balise HTML <sup>3</sup> . Travaille parfaitement pour moi

    EXEMPLE

     <string name="turnoverRate">Turnover rate m<sup>3</sup>/m<sup>2</sup>/hour:</string> 
     yourTextView.setText(Html.fromHtml("X<sup>2</sup>")); This will be the result in you yourTextView = 

    X 2

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.