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.

  • Codage / décodage de données entre php / java pour Android
  • En cliquant sur les onglets, ne change pas l'onglet actuel lors de l'utilisation de Android TabLayout
  • Android: lorsque j'ai configuré OnClickListener pour ListView
  • Eclipse: Comment restaurer les paramètres par défaut en perspective?
  • REST - Comment restreindre l'accès au logiciel client non autorisé
  • Comment définir par programmation DrawableRight sur Android Edittext?
  • L'application de mise à jour programmée d'Android lorsqu'une nouvelle version est disponible
  • Intermittent NullPointerException de AppCompatDelegateImplV7.createSubDecor ()
  • Intégrez le dropbox dans mon application qui montre l'alerte de sécurité
  • Structure Gradle et Multi-Project
  • Personnaliser divider / separator dans la liste déroulante d'un AutocompleteTextview
  • Comment puis-je augmenter la zone tactile pour les contrôles (ToggleButton)?
  • 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.