Subskript und Superscript ein String in Android

Wie können Sie einen String mit einem Tief- oder Hochsymbol drucken? Kannst du das ohne eine externe Bibliothek machen? Ich möchte, dass dies in einem TextView in Android TextView .

  • Android TextView ist abgeschnitten
  • 12 Solutions collect form web for “Subskript und Superscript ein String in Android”

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

    oder

    Gemeinsame Aufgaben und wie man sie in Android zu tun

    Beispiel:

     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); 

    Für alle, die fragen, wenn du es kleiner machen möchtest, um super oder tief zu machen, musst du nur noch einen Tag hinzufügen. EX:

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

    Wenn Sie das Hochsymbol aus der Datei string.xml einstellen möchten, versuchen Sie dies:

    String-Ressource:

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

    Wenn Sie möchten, dass der Hochgestellte kleiner ist:

     <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))); 

    Es ist ein bisschen spät, aber nach einfacher Arbeit gut, verwenden Sie hochgestellt als Sonderzeichen, ich benutzte räumliche char hier.

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

    (Oder) Von String Resource File:

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

    Ich habe diesen Artikel gefunden, wie man eine Spannable oder in einer String-Ressource-Datei verwenden kann: <sup> oder <sub> für Spannable und Spannable .

    Die HTML.fromHTML (String) wurde ab API 24 abgelehnt. Sie sagen, diese zu verwenden, stattdessen, die Flags als Parameter unterstützt. Also von der angenommenen Antwort abheben:

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

    Und wenn du Code willst, der auch vor-24 APIs berücksichtigt:

     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>")); } 

    Diese Antwort wurde abgeleitet von: https://stackoverflow.com/a/37905107/4998704

    Die Fahnen und andere Unterlagen finden Sie hier: https://developer.android.com/reference/android/text/Html.html

    Die Akzeptierte Antwort ist jetzt abgelehnt. Also geh bitte durch dieses Stück Code. Ich habe das von einer Website bekommen. Ich habe den Namen vergessen, aber trotzdem danke für dieses gute Stück Arbeitscode.

      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); 

    Hinweis: android:textAllCaps="false" Sie immer android:textAllCaps="false" von Ihrem spantext.

    Sie heißen Unicode-Zeichen und Android TextView unterstützt sie. Kopiere das Super / Sub-Script aus deinem Wiki: https://de.wikipedia.org/wiki/List_of_Unicode_characters#Superscripts_and_Subscripts

    In den Dateien strings.xml kannst du einfach das HTML <sup>3</sup> Tag verwenden. Mach perfekt für mich

    BEISPIEL

     <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

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.