HtmlCompat.fromHtml() ব্যবহার করে HTML রেন্ডার করুন
অ্যান্ড্রয়েডে TextView-এ HTML স্ট্রিং দেখানোর জন্য android.text.Html (ডিপ্রিকেট) বা HtmlCompat (সুপারিশকৃত) ব্যবহার করুন।
কোড উদাহরণ
public class MainActivity extends AppCompatActivity {
private static final String HTML_TEXT = "<h2>What is Android?</h2>\n" +
"<p>Android is an <b>open source</b> <i>Linux-based OS</i> for mobile devices.</p>\n" +
"<p>Developed by the <b>Open Handset Alliance</b> led by Google.</p>\n" +
"<ul><li>Item 1</li><li>Item 2</li></ul>";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.htmlTextView);
// API 24+ (Nougat) এ fromHtml(int flags) ওভারলোড
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
tv.setText(HtmlCompat.fromHtml(HTML_TEXT, HtmlCompat.FROM_HTML_MODE_LEGACY));
} else {
tv.setText(HtmlCompat.fromHtml(HTML_TEXT, 0)); // লিগ্যাসি ফ্ল্যাগ
}
// লিঙ্ক ক্লিকেবল করতে
tv.setMovementMethod(LinkMovementMethod.getInstance());
}
}
সাপোর্টেড HTML ট্যাগ
<b>, <i>, <u>, <strong>, <em>, <cite>, <dfn><big>, <small>, <font>, <blockquote><p>, <br>, <div><a href="...">(LinkMovementMethod দরকার)<img src="...">(ImageGetter দরকার)<ul>, <ol>, <li>
সীমাবদ্ধতা
- CSS সাপোর্ট নেই (স্টাইলিং সীমিত)।
- জাভাস্ক্রিপ্ট এক্সিকিউট হয় না।
- কমপ্লেক্স লেআউটের জন্য
WebViewব্যবহার করুন।
আধুনিক বিকল্প: Jetpack Compose-এ AnnotatedString বা Markdown লাইব্রেরি (Markwon) ব্যবহার করুন।