5

カスタムフォントを太字で表示するのに少し問題があります。これが私がやろうとしていることです:

res/string に HTML 形式の文字列を設定しました

<string name="string1">
<![CDATA[<b>Title1</b><p>sub text</p>]]>
</string> 

次に、実行時にフォントを設定します (getString は文字列から resID を取得します)。

Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/eurostileltstddemi.ttf"); 
TextView body = (TextView) findViewById(R.id.tv_body);
body.setText(Html.fromHtml(getString(name)));
body.setTypeface(tf);

テキストが本来あるべき場所で太字で表示されないという問題、私が間違っているアイデアはありますか??

申し訳ありませんが、太字のテキストとそうでないテキストが必要であることを追加するのを忘れていました。

4

2 に答える 2

3

使用する:

body.setTypeface(tf, Typeface.BOLD);

書体

また、webView で書体を設定することもできます。次のようなものを追加するだけです:

<html>  <head><style type=\"text/css\">  @font-face {  font-family: MyFont;      src: url(\"file:///android_asset/font.ttf\")  }    body { font-family: MyFont;  font-size: 12px;  text-align: justify;   }   </style> </head><body>

次を使用してロードします。

webView.loadDataWithBaseURL("file:///android_asset/", result, "text/html", "UTF-8", "null");

//編集された質問について

String s = getResources().getString(R.string.string1);
((TextView) findViewById(R.id.t)).setText(Html.fromHtml(s), TextView.BufferType.SPANNABLE);
于 2013-08-20T10:50:21.990 に答える