Alt simge veya üst simge içeren bir dizeyi nasıl yazdırabilirsiniz? Bunu harici bir kitaplık olmadan yapabilir misin? Bunun bir TextView
Android'de görüntülenmesini istiyorum .
Alt simge veya üst simge içeren bir dizeyi nasıl yazdırabilirsiniz? Bunu harici bir kitaplık olmadan yapabilir misin? Bunun bir TextView
Android'de görüntülenmesini istiyorum .
Yanıtlar:
((TextView)findViewById(R.id.text)).setText(Html.fromHtml("X<sup>2</sup>"));
veya
Misal:
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);
equation.setText(blah+cs);
işe yaramıyor. Yine de ayrı ayrı iyi çalışıyor. O işi nasıl yaptırabilirim?
Soran herkese, süper veya alt simge yapmanın yanı sıra küçültmek istiyorsanız, sadece etiket eklemeniz gerekir. EX:
"X <sup><small> 2 </small></sup>"
Kodda şöyle "\ u00B2" yazın:
textView.setText("X\u00B2");
Üst yazıyı string.xml dosyasından ayarlamak istiyorsanız şunu deneyin:
dize kaynağı:
<string name="test_string">X<sup>3</sup></string>
üst simgenin daha küçük olmasını istiyorsanız:
<string name="test_string">X<sup><small>3</small></sup></string>
Kod:
textView.setText(Html.fromHtml("Anything you want to put here"+getString(R.string.test_string)));
((TextView)findViewById(R.id.text)).setText(Html.fromHtml("X<sup><small>2</small></sup>"));
(veya) Dize Kaynak Dosyasından:
<string name="test_string">
<![CDATA[ X<sup><small>2</small></sup> ]]>
</string>
Kabul edilen yanıt artık kullanımdan kaldırılmıştır. Bu yüzden lütfen bu kod parçasını gözden geçirin. Bunu bir web sitesinden aldım. İsmi unuttum ama yine de bu güzel çalışma kodu için teşekkürler.
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);
Not: Her zaman android:textAllCaps="false"
spanteksinizi koyun.
HTML.fromHTML (String) API 24 itibariyle kullanımdan kaldırıldı. Bunun yerine bayrakları parametre olarak destekleyen bunu kullanmayı söylüyorlar. Kabul edilen cevabın dışına çıkmak için:
TextView textView = ((TextView)findViewById(R.id.text));
textView.setText(Html.fromHtml("X<sup>2</sup>", Html.FROM_HTML_MODE_LEGACY));
Ve 24'ten önceki API'leri de dikkate alan bir kod istiyorsanız:
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>"));
}
Bu yanıt şu adresten türetilmiştir: https://stackoverflow.com/a/37905107/4998704
Bayraklar ve diğer belgeler burada bulunabilir: https://developer.android.com/reference/android/text/Html.html
"Bir" için bunu "ᵃ" kopyalayıp yapıştırın
Bu Üst Simgeler ve Aboneliklerden herhangi birini kopyalayıp doğrudan Android Dize Kaynağınıza yapıştırabilirsiniz.
Misal:
<string name="word_with_superscript" translatable="false">Trademark ᵀᴹ</string>
Sonuç: Ticari Marka ᵀᴹ
Üst simge ve Alt simge harfler
Üst simge büyük harf ᴬ ᴮ ᴰ ᴱ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴼ ᴾ ᴿ ᵀ ᵁ ⱽ ᵂ
Üst simge küçük ᵃ ᵇ ᶜ ᵈ ᵉ ᶠ ᵍ ʰ ⁱ ʲ ᵏ ˡ ᵐ ⁿ ᵒ ᵖ ʳ ˢ ᵗ ᵘ ᵛ ʷ ˣ ʸ ᶻ
Alt simge küçük ₐ ₑ ₕ ᵢ ⱼ ₖ ₗ ₘ ₙ ₒ ₚ ᵣ ₛ ₜ ᵤ ᵥ ₓ
Bunlara Unicode karakterler denir ve Android TextView
bunları destekler. İstediğiniz süper / alt komut dosyasını bu Wiki'den kopyalayın: https://en.wikipedia.org/wiki/List_of_Unicode_characters#Superscripts_and_Subscripts
yourTextView.setText(Html.fromHtml("X<sup>2</sup>"));
This will be the result in you yourTextView =
X 2