Set html biçimli dize kaynak XML TextView metinden
* *5, benim gibi bir şey içinde sabit bir dize var:
<resources>
<string name="somestring">
<B>Title</B><BR/>
Content
</string>
</resources>
ve benim düzen içinde html biçimli dize ile doldurmak istiyorum TextView
var.
<TextView android:id="@ id/formattedtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/htmlstring"/>
eğer bunu yaparsam, formattedtext
içeriği sadece somestring
içeriği herhangi bir html etiketleri çıkarılır ve böylece biçimlendirilmemiş.
Biçimlendirilmiş metin ile programlı olarak ayarlamak mümkün olduğunu biliyorum
.setText(Html.fromHtml(somestring));
beklendiği gibi çalışıyor nerede benim program diğer bölgelerinde bu kullanıyorum çünkü.
Bu işlev çağrısı için ihtiyacım var Activity
ama şu anda benim düzen sadece basit daha fazla veya daha az statik görünümünde düz XML ve tercih ederdim için öyle bırakmak, beni kurtarmaya gelen yük oluşturma Activity
set metin.
Bakan bir şey belli mi? Hiç mümkün değil midir? Herhangi bir yardım veya çözümler geldiniz!
Edit: Sadece bazı şeyler denedim ve xml HTML biçimlendirme bazı sınırlamalar var gibi görünüyor:
etiketler küçük harfle yazılır
bahsi geçen bazı etiketler here çalışmaz
<br/>
(örneğin mümkün\n
yerine kullanmak için)
CEVAP
Her ihtimale karşı herkes bulur bu, orada daha iyi bir alternatif değil belgelenmiş (takıldım bittikten sonra arama yapmak için Saat, ve sonunda buldum hata listesi için Android SDK kendisi). SanaOLABİLİRstrings.xml seni sarın sürece ham HTML vardır
<![CDATA[ ...raw html... ]]>
Örnek:
<string name="nice_html">
<![CDATA[
<p>This is a html-formatted string with <b>bold</b> and <i>italic</i> text</p>
<p>This is another paragraph of the same string.</p>
]]>
</string>
Daha sonra kod:
TextView foo = (TextView)findViewById(R.id.foo);
foo.setText(Html.fromHtml(getString(R.string.nice_html)));
Bu birkaç büyüklük ile çalışmak daha güzel: - IMHO)
Dize içinde HTML kaynak?...
Nasıl TextView içinde HTML görüntüleme...
Bir Dize Kaldır HTML etiketler...
HTML dosyaları doğrudan kendi kaynak g...
HTML bir dize kullanarak yerleşik DOM ...