SORU
7 EKİM 2009, ÇARŞAMBA


Bir TextView içinde birden çok stil olması mümkün mü?

Bir TextView içinde metnin farklı parçaları için çok sayıda stilleri ayarlamak mümkün mü?

Örneğin, aşağıdaki gibi metin belirliyorum

tv.setText(line1   "\n"   line2   "\n"   word1   "\t"   word2   "\t"   word3);

Her metin öğesi için farklı bir tarz yaratmak mümkün mü? E. g., satır1 kalın, word1, vb italik.

Geliştirici kılavuzu Common Tasks and How to Do Them in Android Selecting, Highlighting, or Styling Portions of Text içerir:

// Get our EditText object.
EditText vw = (EditText)findViewById(R.id.text);

// Set the EditText's text.
vw.setText("Italic, highlighted, bold.");

// If this were just a TextView, we could do:
// vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE);
// to force it to use Spannable storage so styles can be attached.
// Or we could specify that in the XML.

// Get the EditText's internal text storage
Spannable str = vw.getText();

// Create our span sections, and assign a format to each.
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 21, str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

Ama metin içinde açık pozisyon sayıları kullanır. Cleaner bunu yapmanın bir yolu var mı?

CEVAP
7 EKİM 2009, ÇARŞAMBA


Durumda, herkes bunun nasıl olduğunu merak ediyor şöyle: (İşaretlemek için tekrar Teşekkürler!)

mBox = new TextView(context);
mBox.setText(Html.fromHtml("<b>"   title   "</b>"    "<br />"   
            "<small>"   description   "</small>"   "<br />"   
            "<small>"   DateAdded   "</small>"));

Etiketler bu yöntem tarafından desteklenen gayri resmi bir liste için, 8* *bakın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Booredatwork.com

    Booredatwork

    5 Ocak 2009
  • jbignacio

    jbignacio

    13 Mart 2006
  • Press Start

    Press Start

    4 HAZİRAN 2006