我的应用程序是一个malayalam新闻门户网站,在那个应用程序中,我使用的是MLW-Panini.ttf
,这是一种马拉雅拉姆字体。
问题是在一个textview本身我必须同时显示马拉雅拉姆语和英文文本。
如果我使用该字体,则无法正确显示英文内容。
如果内容仅在malayalam中,则可以正常工作。考虑附加图像,红线内的内容应该是英文的,但是在马拉雅拉姆语中。
绿线内的内容在malayalam中,这很好。请求帮助...
TextView tv = new TextView(NewsDetail.this);
Typeface font1 = Typeface.createFromAsset(getAssets(),"fonts/MLW-Panini.ttf");
tv.setTypeface(font2);
tv.setText(Html.fromHtml(arrList.get(i).get("news")));`
答案 0 :(得分:0)
答案 1 :(得分:0)
使用以下代码:
对于您的第一个文本视图:
TextView tv = new TextView(NewsDetail.this);
Typeface font1 = Typeface.createFromAsset(getAssets(),"fonts/MLW-Panini.ttf");
tv.setTypeface(font1);
tv.setText(Html.fromHtml(arrList.get(i).get("news")));
对于您的第二文本视图:
TextView tv1 = new TextView(NewsDetail.this);
Typeface font2 = Typeface.createFromAsset(getAssets(),"fonts/secondfont.ttf");
tv.setTypeface(font2);
tv.setText(Html.fromHtml(arrList.get(i).get("news")));
不是一次又一次地创建Typeface,而是可以使用define static方法返回Utility Class中的Typeface。通过这种方式,您可以减少字体对象的数量,并且可以始终保持唯一的字体。
答案 2 :(得分:0)
你可以这样做。
TextView tv = new TextView(NewsDetail.this);
Typeface font1 = Typeface.createFromAsset(getAssets(),"fonts/MLW-Panini.ttf");
tv.setTypeface(font1);
String text = "malayalam_text english_text";
Spannable s = new SpannableString(text);
s.setSpan(new TypefaceSpan("sans"), "malayalam_text ".length(), "malayalam_text english_text".length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(s);