0

私のアプリはマラヤーラム語のニュース ポータルであり、そのアプリMLW-Panini.ttfではマラヤーラム語のフォントを使用しています。
問題は、1 つのテキストビュー自体で、マラヤーラム語と英語のテキストの両方を表示する必要があることです。

フォントを使用すると、英語のコンテンツが正しく表示されません。
コンテンツがマラヤーラム語のみの場合、問題なく動作します。添付の画像を見ると赤枠内が英語のはずですが、マラヤーラム語です。

緑の線の中のコンテンツはマラヤーラム語で書かれており、それで問題ありません。助けを求めています...

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")));`
4

3 に答える 3

0

@njzk2 が言ったように、両方の言語をサポートしようとすることができます。

テキスト ビューのフォントの設定については、このStackOverFlow Question をご覧ください。

それが役に立てば幸い。

于 2013-01-02T14:13:38.327 に答える
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")));

2 番目のテキスト ビューの場合:

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 を何度も作成する代わりに、Utility Class で Typeface を返す static メソッドを定義することができます。このようにして、書体オブジェクトの数を減らし、常に独自のフォントを維持できます。

于 2013-01-03T07:11:15.173 に答える
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);
于 2013-01-03T08:31:44.490 に答える